From a9064d5befda8ad6e96f03508ff0d19cc2e33a3d Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 3 Apr 2022 11:36:21 +0200 Subject: [PATCH 1/5] update python deps --- poetry.lock | 211 ++++++++++++++++++++++++++----------------------- pyproject.toml | 10 +-- 2 files changed, 115 insertions(+), 106 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9b5a40d9..7adb6398 100644 --- a/poetry.lock +++ b/poetry.lock @@ -93,7 +93,7 @@ typecheck = ["mypy"] [[package]] name = "black" -version = "22.1.0" +version = "22.3.0" description = "The uncompromising code formatter." category = "dev" optional = false @@ -104,7 +104,7 @@ click = ">=8.0.0" mypy-extensions = ">=0.4.3" pathspec = ">=0.9.0" platformdirs = ">=2" -tomli = ">=1.1.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""} typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} @@ -146,11 +146,11 @@ unicode_backport = ["unicodedata2"] [[package]] name = "click" -version = "8.0.4" +version = "8.1.2" description = "Composable command line interface toolkit" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} @@ -232,7 +232,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [[package]] name = "dramatiq" -version = "1.12.3" +version = "1.13.0" description = "Background Processing for Python 3." category = "main" optional = false @@ -243,8 +243,8 @@ prometheus-client = ">=0.2" redis = {version = ">=2.0,<5.0", optional = true, markers = "extra == \"redis\""} [package.extras] -all = ["gevent (>=1.1)", "redis (>=2.0,<5.0)", "watchdog", "pika (>=1.0,<2.0)", "watchdog-gevent", "pylibmc (>=1.5,<2.0)"] -dev = ["gevent (>=1.1)", "redis (>=2.0,<5.0)", "watchdog", "pika (>=1.0,<2.0)", "watchdog-gevent", "pylibmc (>=1.5,<2.0)", "alabaster", "sphinx (<1.8)", "sphinxcontrib-napoleon", "flake8", "flake8-bugbear", "flake8-quotes", "isort", "bumpversion", "hiredis", "twine", "wheel", "pytest", "pytest-benchmark", "pytest-cov", "tox"] +all = ["redis (>=2.0,<5.0)", "pylibmc (>=1.5,<2.0)", "watchdog", "watchdog-gevent", "pika (>=1.0,<2.0)", "gevent (>=1.1)"] +dev = ["redis (>=2.0,<5.0)", "pylibmc (>=1.5,<2.0)", "watchdog", "watchdog-gevent", "pika (>=1.0,<2.0)", "gevent (>=1.1)", "alabaster", "sphinx (<1.8)", "sphinxcontrib-napoleon", "flake8", "flake8-bugbear", "flake8-quotes", "isort", "bumpversion", "hiredis", "twine", "wheel", "pytest", "pytest-benchmark", "pytest-cov", "tox"] gevent = ["gevent (>=1.1)"] memcached = ["pylibmc (>=1.5,<2.0)"] rabbitmq = ["pika (>=1.0,<2.0)"] @@ -267,14 +267,15 @@ pyflakes = ">=2.3.0,<2.4.0" [[package]] name = "flask" -version = "2.0.3" +version = "2.1.1" description = "A simple framework for building complex web applications." category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] -click = ">=7.1.2" +click = ">=8.0" +importlib-metadata = {version = ">=3.6.0", markers = "python_version < \"3.10\""} itsdangerous = ">=2.0" Jinja2 = ">=3.0" Werkzeug = ">=2.0" @@ -285,14 +286,14 @@ dotenv = ["python-dotenv"] [[package]] name = "flask-bcrypt" -version = "0.7.1" +version = "1.0.0" description = "Brcrypt hashing for Flask." category = "main" optional = false python-versions = "*" [package.dependencies] -bcrypt = "*" +bcrypt = ">=3.1.1" Flask = "*" [[package]] @@ -584,12 +585,16 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" [[package]] name = "pillow" -version = "9.0.1" +version = "9.1.0" description = "Python Imaging Library (Fork)" category = "main" optional = false python-versions = ">=3.7" +[package.extras] +docs = ["olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-issues (>=3.0.1)", "sphinx-removed-in", "sphinx-rtd-theme (>=1.0)", "sphinxext-opengraph"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] + [[package]] name = "platformdirs" version = "2.5.1" @@ -748,14 +753,14 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2. [[package]] name = "pytest-base-url" -version = "1.4.2" +version = "2.0.0" description = "pytest plugin for URL based testing" category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.7,<4.0" [package.dependencies] -pytest = ">=2.7.3" +pytest = ">=3.0.0,<8.0.0" requests = ">=2.9" [[package]] @@ -928,7 +933,7 @@ sphinx = ">=1.3.1" [[package]] name = "redis" -version = "4.2.0" +version = "4.2.1" description = "Python client for Redis database and key-value store" category = "main" optional = false @@ -939,7 +944,7 @@ async-timeout = ">=4.0.2" deprecated = ">=1.2.3" importlib-metadata = {version = ">=1.0", markers = "python_version < \"3.8\""} packaging = ">=20.4" -typing-extensions = "*" +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} [package.extras] hiredis = ["hiredis (>=1.0.0)"] @@ -1033,7 +1038,7 @@ python-versions = "*" [[package]] name = "sphinx" -version = "4.4.0" +version = "4.5.0" description = "Python documentation generator" category = "dev" optional = false @@ -1269,7 +1274,7 @@ python-versions = ">=3.6" [[package]] name = "types-freezegun" -version = "1.1.7" +version = "1.1.8" description = "Typing stubs for freezegun" category = "dev" optional = false @@ -1285,7 +1290,7 @@ python-versions = "*" [[package]] name = "types-requests" -version = "2.27.15" +version = "2.27.16" description = "Typing stubs for requests" category = "dev" optional = false @@ -1332,11 +1337,11 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "werkzeug" -version = "2.0.3" +version = "2.1.1" description = "The comprehensive WSGI web application library." category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.extras] watchdog = ["watchdog"] @@ -1375,7 +1380,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "545f5ef79ba67d5a2d2df007fb5ac67ca37630efd4ff04c3a15e181c73b4f466" +content-hash = "adc2a4d8457e207233c64b835fbfc1e38dbf49dc2d807657a80b53bd8a2c622d" [metadata.files] alabaster = [ @@ -1416,29 +1421,29 @@ bcrypt = [ {file = "bcrypt-3.2.0.tar.gz", hash = "sha256:5b93c1726e50a93a033c36e5ca7fdcd29a5c7395af50a6892f5d9e7c6cfbfb29"}, ] black = [ - {file = "black-22.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1297c63b9e1b96a3d0da2d85d11cd9bf8664251fd69ddac068b98dc4f34f73b6"}, - {file = "black-22.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2ff96450d3ad9ea499fc4c60e425a1439c2120cbbc1ab959ff20f7c76ec7e866"}, - {file = "black-22.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e21e1f1efa65a50e3960edd068b6ae6d64ad6235bd8bfea116a03b21836af71"}, - {file = "black-22.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2f69158a7d120fd641d1fa9a921d898e20d52e44a74a6fbbcc570a62a6bc8ab"}, - {file = "black-22.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:228b5ae2c8e3d6227e4bde5920d2fc66cc3400fde7bcc74f480cb07ef0b570d5"}, - {file = "black-22.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b1a5ed73ab4c482208d20434f700d514f66ffe2840f63a6252ecc43a9bc77e8a"}, - {file = "black-22.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35944b7100af4a985abfcaa860b06af15590deb1f392f06c8683b4381e8eeaf0"}, - {file = "black-22.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7835fee5238fc0a0baf6c9268fb816b5f5cd9b8793423a75e8cd663c48d073ba"}, - {file = "black-22.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dae63f2dbf82882fa3b2a3c49c32bffe144970a573cd68d247af6560fc493ae1"}, - {file = "black-22.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fa1db02410b1924b6749c245ab38d30621564e658297484952f3d8a39fce7e8"}, - {file = "black-22.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c8226f50b8c34a14608b848dc23a46e5d08397d009446353dad45e04af0c8e28"}, - {file = "black-22.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2d6f331c02f0f40aa51a22e479c8209d37fcd520c77721c034517d44eecf5912"}, - {file = "black-22.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:742ce9af3086e5bd07e58c8feb09dbb2b047b7f566eb5f5bc63fd455814979f3"}, - {file = "black-22.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fdb8754b453fb15fad3f72cd9cad3e16776f0964d67cf30ebcbf10327a3777a3"}, - {file = "black-22.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5660feab44c2e3cb24b2419b998846cbb01c23c7fe645fee45087efa3da2d61"}, - {file = "black-22.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:6f2f01381f91c1efb1451998bd65a129b3ed6f64f79663a55fe0e9b74a5f81fd"}, - {file = "black-22.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:efbadd9b52c060a8fc3b9658744091cb33c31f830b3f074422ed27bad2b18e8f"}, - {file = "black-22.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8871fcb4b447206904932b54b567923e5be802b9b19b744fdff092bd2f3118d0"}, - {file = "black-22.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ccad888050f5393f0d6029deea2a33e5ae371fd182a697313bdbd835d3edaf9c"}, - {file = "black-22.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07e5c049442d7ca1a2fc273c79d1aecbbf1bc858f62e8184abe1ad175c4f7cc2"}, - {file = "black-22.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:373922fc66676133ddc3e754e4509196a8c392fec3f5ca4486673e685a421321"}, - {file = "black-22.1.0-py3-none-any.whl", hash = "sha256:3524739d76b6b3ed1132422bf9d82123cd1705086723bc3e235ca39fd21c667d"}, - {file = "black-22.1.0.tar.gz", hash = "sha256:a7c0192d35635f6fc1174be575cb7915e92e5dd629ee79fdaf0dcfa41a80afb5"}, + {file = "black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09"}, + {file = "black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb"}, + {file = "black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a"}, + {file = "black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968"}, + {file = "black-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:fd57160949179ec517d32ac2ac898b5f20d68ed1a9c977346efbac9c2f1e779d"}, + {file = "black-22.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc1e1de68c8e5444e8f94c3670bb48a2beef0e91dddfd4fcc29595ebd90bb9ce"}, + {file = "black-22.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2fc92002d44746d3e7db7cf9313cf4452f43e9ea77a2c939defce3b10b5c82"}, + {file = "black-22.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a6342964b43a99dbc72f72812bf88cad8f0217ae9acb47c0d4f141a6416d2d7b"}, + {file = "black-22.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:328efc0cc70ccb23429d6be184a15ce613f676bdfc85e5fe8ea2a9354b4e9015"}, + {file = "black-22.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06f9d8846f2340dfac80ceb20200ea5d1b3f181dd0556b47af4e8e0b24fa0a6b"}, + {file = "black-22.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4efa5fad66b903b4a5f96d91461d90b9507a812b3c5de657d544215bb7877a"}, + {file = "black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163"}, + {file = "black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464"}, + {file = "black-22.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0"}, + {file = "black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176"}, + {file = "black-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:cee3e11161dde1b2a33a904b850b0899e0424cc331b7295f2a9698e79f9a69a0"}, + {file = "black-22.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5891ef8abc06576985de8fa88e95ab70641de6c1fca97e2a15820a9b69e51b20"}, + {file = "black-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a"}, + {file = "black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad"}, + {file = "black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21"}, + {file = "black-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b542ced1ec0ceeff5b37d69838106a6348e60db7b8fdd245294dc1d26136265"}, + {file = "black-22.3.0-py3-none-any.whl", hash = "sha256:bc58025940a896d7e5356952228b68f793cf5fcb342be703c3a2669a1488cb72"}, + {file = "black-22.3.0.tar.gz", hash = "sha256:35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79"}, ] certifi = [ {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"}, @@ -1501,8 +1506,8 @@ charset-normalizer = [ {file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"}, ] click = [ - {file = "click-8.0.4-py3-none-any.whl", hash = "sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1"}, - {file = "click-8.0.4.tar.gz", hash = "sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb"}, + {file = "click-8.1.2-py3-none-any.whl", hash = "sha256:24e1a4a9ec5bf6299411369b208c1df2188d9eb8d916302fe6bf03faed227f1e"}, + {file = "click-8.1.2.tar.gz", hash = "sha256:479707fe14d9ec9a0757618b7a100a0ae4c4e236fac5b7f80ca68028141a1a72"}, ] colorama = [ {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, @@ -1586,19 +1591,20 @@ docutils = [ {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] dramatiq = [ - {file = "dramatiq-1.12.3-py3-none-any.whl", hash = "sha256:eccb0f54d44ebd9e2c79e00d67b808397589a1a621ba7c5fd58df5fb6204a0a8"}, - {file = "dramatiq-1.12.3.tar.gz", hash = "sha256:380bd77b6b19d642f417b642935049ff71ddf4b4e57d821e4f55b92541430f21"}, + {file = "dramatiq-1.13.0-py3-none-any.whl", hash = "sha256:8ef7509ca62bc45c3f1e3b1a0248e9f774337100e32ba1502cfcca15df79ad61"}, + {file = "dramatiq-1.13.0.tar.gz", hash = "sha256:b4fe0ca6b55b06bebf82cd14c88044fb267505a57d4aa47378194efa0cef5f47"}, ] flake8 = [ {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, ] flask = [ - {file = "Flask-2.0.3-py3-none-any.whl", hash = "sha256:59da8a3170004800a2837844bfa84d49b022550616070f7cb1a659682b2e7c9f"}, - {file = "Flask-2.0.3.tar.gz", hash = "sha256:e1120c228ca2f553b470df4a5fa927ab66258467526069981b3eb0a91902687d"}, + {file = "Flask-2.1.1-py3-none-any.whl", hash = "sha256:8a4cf32d904cf5621db9f0c9fbcd7efabf3003f22a04e4d0ce790c7137ec5264"}, + {file = "Flask-2.1.1.tar.gz", hash = "sha256:a8c9bd3e558ec99646d177a9739c41df1ded0629480b4c8d2975412f3c9519c8"}, ] flask-bcrypt = [ - {file = "Flask-Bcrypt-0.7.1.tar.gz", hash = "sha256:d71c8585b2ee1c62024392ebdbc447438564e2c8c02b4e57b56a4cafd8d13c5f"}, + {file = "Flask-Bcrypt-1.0.0.tar.gz", hash = "sha256:e622fbd3b0bf63d516b8844fe3431fc30213592412b430036c3928a0c52dfb27"}, + {file = "Flask_Bcrypt-1.0.0-py3-none-any.whl", hash = "sha256:64a947e15ff06823c3843f4826d4548dfae038c7df8f98ea82755db62092ec4c"}, ] flask-dramatiq = [ {file = "flask-dramatiq-0.6.0.tar.gz", hash = "sha256:63709e73d7c8d2e5d9bc554d1e859d91c5c5c9a4ebc9461752655bf1e0b87420"}, @@ -1806,41 +1812,44 @@ pathspec = [ {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"}, ] pillow = [ - {file = "Pillow-9.0.1-1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a5d24e1d674dd9d72c66ad3ea9131322819ff86250b30dc5821cbafcfa0b96b4"}, - {file = "Pillow-9.0.1-1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2632d0f846b7c7600edf53c48f8f9f1e13e62f66a6dbc15191029d950bfed976"}, - {file = "Pillow-9.0.1-1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b9618823bd237c0d2575283f2939655f54d51b4527ec3972907a927acbcc5bfc"}, - {file = "Pillow-9.0.1-cp310-cp310-macosx_10_10_universal2.whl", hash = "sha256:9bfdb82cdfeccec50aad441afc332faf8606dfa5e8efd18a6692b5d6e79f00fd"}, - {file = "Pillow-9.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5100b45a4638e3c00e4d2320d3193bdabb2d75e79793af7c3eb139e4f569f16f"}, - {file = "Pillow-9.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:528a2a692c65dd5cafc130de286030af251d2ee0483a5bf50c9348aefe834e8a"}, - {file = "Pillow-9.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f29d831e2151e0b7b39981756d201f7108d3d215896212ffe2e992d06bfe049"}, - {file = "Pillow-9.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:855c583f268edde09474b081e3ddcd5cf3b20c12f26e0d434e1386cc5d318e7a"}, - {file = "Pillow-9.0.1-cp310-cp310-win32.whl", hash = "sha256:d9d7942b624b04b895cb95af03a23407f17646815495ce4547f0e60e0b06f58e"}, - {file = "Pillow-9.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:81c4b81611e3a3cb30e59b0cf05b888c675f97e3adb2c8672c3154047980726b"}, - {file = "Pillow-9.0.1-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:413ce0bbf9fc6278b2d63309dfeefe452835e1c78398efb431bab0672fe9274e"}, - {file = "Pillow-9.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80fe64a6deb6fcfdf7b8386f2cf216d329be6f2781f7d90304351811fb591360"}, - {file = "Pillow-9.0.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cef9c85ccbe9bee00909758936ea841ef12035296c748aaceee535969e27d31b"}, - {file = "Pillow-9.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d19397351f73a88904ad1aee421e800fe4bbcd1aeee6435fb62d0a05ccd1030"}, - {file = "Pillow-9.0.1-cp37-cp37m-win32.whl", hash = "sha256:d21237d0cd37acded35154e29aec853e945950321dd2ffd1a7d86fe686814669"}, - {file = "Pillow-9.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:ede5af4a2702444a832a800b8eb7f0a7a1c0eed55b644642e049c98d589e5092"}, - {file = "Pillow-9.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:b5b3f092fe345c03bca1e0b687dfbb39364b21ebb8ba90e3fa707374b7915204"}, - {file = "Pillow-9.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:335ace1a22325395c4ea88e00ba3dc89ca029bd66bd5a3c382d53e44f0ccd77e"}, - {file = "Pillow-9.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db6d9fac65bd08cea7f3540b899977c6dee9edad959fa4eaf305940d9cbd861c"}, - {file = "Pillow-9.0.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f154d173286a5d1863637a7dcd8c3437bb557520b01bddb0be0258dcb72696b5"}, - {file = "Pillow-9.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14d4b1341ac07ae07eb2cc682f459bec932a380c3b122f5540432d8977e64eae"}, - {file = "Pillow-9.0.1-cp38-cp38-win32.whl", hash = "sha256:effb7749713d5317478bb3acb3f81d9d7c7f86726d41c1facca068a04cf5bb4c"}, - {file = "Pillow-9.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:7f7609a718b177bf171ac93cea9fd2ddc0e03e84d8fa4e887bdfc39671d46b00"}, - {file = "Pillow-9.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:80ca33961ced9c63358056bd08403ff866512038883e74f3a4bf88ad3eb66838"}, - {file = "Pillow-9.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c3c33ac69cf059bbb9d1a71eeaba76781b450bc307e2291f8a4764d779a6b28"}, - {file = "Pillow-9.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:12875d118f21cf35604176872447cdb57b07126750a33748bac15e77f90f1f9c"}, - {file = "Pillow-9.0.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:514ceac913076feefbeaf89771fd6febde78b0c4c1b23aaeab082c41c694e81b"}, - {file = "Pillow-9.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3c5c79ab7dfce6d88f1ba639b77e77a17ea33a01b07b99840d6ed08031cb2a7"}, - {file = "Pillow-9.0.1-cp39-cp39-win32.whl", hash = "sha256:718856856ba31f14f13ba885ff13874be7fefc53984d2832458f12c38205f7f7"}, - {file = "Pillow-9.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:f25ed6e28ddf50de7e7ea99d7a976d6a9c415f03adcaac9c41ff6ff41b6d86ac"}, - {file = "Pillow-9.0.1-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:011233e0c42a4a7836498e98c1acf5e744c96a67dd5032a6f666cc1fb97eab97"}, - {file = "Pillow-9.0.1-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:253e8a302a96df6927310a9d44e6103055e8fb96a6822f8b7f514bb7ef77de56"}, - {file = "Pillow-9.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6295f6763749b89c994fcb6d8a7f7ce03c3992e695f89f00b741b4580b199b7e"}, - {file = "Pillow-9.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:a9f44cd7e162ac6191491d7249cceb02b8116b0f7e847ee33f739d7cb1ea1f70"}, - {file = "Pillow-9.0.1.tar.gz", hash = "sha256:6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa"}, + {file = "Pillow-9.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:af79d3fde1fc2e33561166d62e3b63f0cc3e47b5a3a2e5fea40d4917754734ea"}, + {file = "Pillow-9.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:55dd1cf09a1fd7c7b78425967aacae9b0d70125f7d3ab973fadc7b5abc3de652"}, + {file = "Pillow-9.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66822d01e82506a19407d1afc104c3fcea3b81d5eb11485e593ad6b8492f995a"}, + {file = "Pillow-9.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5eaf3b42df2bcda61c53a742ee2c6e63f777d0e085bbc6b2ab7ed57deb13db7"}, + {file = "Pillow-9.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01ce45deec9df310cbbee11104bae1a2a43308dd9c317f99235b6d3080ddd66e"}, + {file = "Pillow-9.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:aea7ce61328e15943d7b9eaca87e81f7c62ff90f669116f857262e9da4057ba3"}, + {file = "Pillow-9.1.0-cp310-cp310-win32.whl", hash = "sha256:7a053bd4d65a3294b153bdd7724dce864a1d548416a5ef61f6d03bf149205160"}, + {file = "Pillow-9.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:97bda660702a856c2c9e12ec26fc6d187631ddfd896ff685814ab21ef0597033"}, + {file = "Pillow-9.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:21dee8466b42912335151d24c1665fcf44dc2ee47e021d233a40c3ca5adae59c"}, + {file = "Pillow-9.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b6d4050b208c8ff886fd3db6690bf04f9a48749d78b41b7a5bf24c236ab0165"}, + {file = "Pillow-9.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5cfca31ab4c13552a0f354c87fbd7f162a4fafd25e6b521bba93a57fe6a3700a"}, + {file = "Pillow-9.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed742214068efa95e9844c2d9129e209ed63f61baa4d54dbf4cf8b5e2d30ccf2"}, + {file = "Pillow-9.1.0-cp37-cp37m-win32.whl", hash = "sha256:c9efef876c21788366ea1f50ecb39d5d6f65febe25ad1d4c0b8dff98843ac244"}, + {file = "Pillow-9.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:de344bcf6e2463bb25179d74d6e7989e375f906bcec8cb86edb8b12acbc7dfef"}, + {file = "Pillow-9.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:17869489de2fce6c36690a0c721bd3db176194af5f39249c1ac56d0bb0fcc512"}, + {file = "Pillow-9.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:25023a6209a4d7c42154073144608c9a71d3512b648a2f5d4465182cb93d3477"}, + {file = "Pillow-9.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8782189c796eff29dbb37dd87afa4ad4d40fc90b2742704f94812851b725964b"}, + {file = "Pillow-9.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:463acf531f5d0925ca55904fa668bb3461c3ef6bc779e1d6d8a488092bdee378"}, + {file = "Pillow-9.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f42364485bfdab19c1373b5cd62f7c5ab7cc052e19644862ec8f15bb8af289e"}, + {file = "Pillow-9.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3fddcdb619ba04491e8f771636583a7cc5a5051cd193ff1aa1ee8616d2a692c5"}, + {file = "Pillow-9.1.0-cp38-cp38-win32.whl", hash = "sha256:4fe29a070de394e449fd88ebe1624d1e2d7ddeed4c12e0b31624561b58948d9a"}, + {file = "Pillow-9.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:c24f718f9dd73bb2b31a6201e6db5ea4a61fdd1d1c200f43ee585fc6dcd21b34"}, + {file = "Pillow-9.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fb89397013cf302f282f0fc998bb7abf11d49dcff72c8ecb320f76ea6e2c5717"}, + {file = "Pillow-9.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c870193cce4b76713a2b29be5d8327c8ccbe0d4a49bc22968aa1e680930f5581"}, + {file = "Pillow-9.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69e5ddc609230d4408277af135c5b5c8fe7a54b2bdb8ad7c5100b86b3aab04c6"}, + {file = "Pillow-9.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35be4a9f65441d9982240e6966c1eaa1c654c4e5e931eaf580130409e31804d4"}, + {file = "Pillow-9.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82283af99c1c3a5ba1da44c67296d5aad19f11c535b551a5ae55328a317ce331"}, + {file = "Pillow-9.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a325ac71914c5c043fa50441b36606e64a10cd262de12f7a179620f579752ff8"}, + {file = "Pillow-9.1.0-cp39-cp39-win32.whl", hash = "sha256:a598d8830f6ef5501002ae85c7dbfcd9c27cc4efc02a1989369303ba85573e58"}, + {file = "Pillow-9.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:0c51cb9edac8a5abd069fd0758ac0a8bfe52c261ee0e330f363548aca6893595"}, + {file = "Pillow-9.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a336a4f74baf67e26f3acc4d61c913e378e931817cd1e2ef4dfb79d3e051b481"}, + {file = "Pillow-9.1.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb1b89b11256b5b6cad5e7593f9061ac4624f7651f7a8eb4dfa37caa1dfaa4d0"}, + {file = "Pillow-9.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:255c9d69754a4c90b0ee484967fc8818c7ff8311c6dddcc43a4340e10cd1636a"}, + {file = "Pillow-9.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5a3ecc026ea0e14d0ad7cd990ea7f48bfcb3eb4271034657dc9d06933c6629a7"}, + {file = "Pillow-9.1.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5b0ff59785d93b3437c3703e3c64c178aabada51dea2a7f2c5eccf1bcf565a3"}, + {file = "Pillow-9.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7110ec1701b0bf8df569a7592a196c9d07c764a0a74f65471ea56816f10e2c8"}, + {file = "Pillow-9.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8d79c6f468215d1a8415aa53d9868a6b40c4682165b8cb62a221b1baa47db458"}, + {file = "Pillow-9.1.0.tar.gz", hash = "sha256:f401ed2bbb155e1ade150ccc63db1a4f6c1909d3d378f7d1235a44e90d75fb97"}, ] platformdirs = [ {file = "platformdirs-2.5.1-py3-none-any.whl", hash = "sha256:bcae7cab893c2d310a711b70b24efb93334febe65f8de776ee320b517471e227"}, @@ -1954,8 +1963,8 @@ pytest = [ {file = "pytest-7.1.1.tar.gz", hash = "sha256:841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63"}, ] pytest-base-url = [ - {file = "pytest-base-url-1.4.2.tar.gz", hash = "sha256:7f1f32e08c2ee751e59e7f5880235b46e83496adc5cba5a01ca218c6fe81333d"}, - {file = "pytest_base_url-1.4.2-py2.py3-none-any.whl", hash = "sha256:8b6523a1a3af73c317bdae97b722dfb55a7336733d1ad411eb4a4931347ba77a"}, + {file = "pytest-base-url-2.0.0.tar.gz", hash = "sha256:e1e88a4fd221941572ccdcf3bf6c051392d2f8b6cef3e0bc7da95abec4b5346e"}, + {file = "pytest_base_url-2.0.0-py3-none-any.whl", hash = "sha256:ed36fd632c32af9f1c08f2c2835dcf42ca8fcd097d6ed44a09f253d365ad8297"}, ] pytest-black = [ {file = "pytest-black-0.3.12.tar.gz", hash = "sha256:1d339b004f764d6cd0f06e690f6dd748df3d62e6fe1a692d6a5500ac2c5b75a5"}, @@ -2008,8 +2017,8 @@ recommonmark = [ {file = "recommonmark-0.7.1.tar.gz", hash = "sha256:bdb4db649f2222dcd8d2d844f0006b958d627f732415d399791ee436a3686d67"}, ] redis = [ - {file = "redis-4.2.0-py3-none-any.whl", hash = "sha256:3cbe235cea80b9c9991b397567aa2d65eb4e6fb09787f61d227ae82eb4eb50b4"}, - {file = "redis-4.2.0.tar.gz", hash = "sha256:6758d01dec81af191b98a35cce3402675d115456584c39b500ab485a5e386bbb"}, + {file = "redis-4.2.1-py3-none-any.whl", hash = "sha256:69d05fac17bf3f43937afbb775c536eb516bd21355a4f17d59a966f4a531ce71"}, + {file = "redis-4.2.1.tar.gz", hash = "sha256:fe45513881229dbee610620b9e0817b1f48c47ba635870320fd44a712204bbdd"}, ] requests = [ {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"}, @@ -2043,8 +2052,8 @@ sortedcontainers = [ {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] sphinx = [ - {file = "Sphinx-4.4.0-py3-none-any.whl", hash = "sha256:5da895959511473857b6d0200f56865ed62c31e8f82dd338063b84ec022701fe"}, - {file = "Sphinx-4.4.0.tar.gz", hash = "sha256:6caad9786055cb1fa22b4a365c1775816b876f91966481765d7d50e9f0dd35cc"}, + {file = "Sphinx-4.5.0-py3-none-any.whl", hash = "sha256:ebf612653238bcc8f4359627a9b7ce44ede6fdd75d9d30f68255c7383d3a6226"}, + {file = "Sphinx-4.5.0.tar.gz", hash = "sha256:7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6"}, ] sphinx-bootstrap-theme = [ {file = "sphinx-bootstrap-theme-0.8.1.tar.gz", hash = "sha256:683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df"}, @@ -2165,16 +2174,16 @@ typed-ast = [ {file = "typed_ast-1.5.2.tar.gz", hash = "sha256:525a2d4088e70a9f75b08b3f87a51acc9cde640e19cc523c7e41aa355564ae27"}, ] types-freezegun = [ - {file = "types-freezegun-1.1.7.tar.gz", hash = "sha256:e9d1327e98c6caa8f65de0018ded274347e8e34198d59aa9a5c24ad9265d5e5e"}, - {file = "types_freezegun-1.1.7-py3-none-any.whl", hash = "sha256:efa02341ad35e4f24b3346d09b60332e967586a5bc495a56b1c9c927b4c788b6"}, + {file = "types-freezegun-1.1.8.tar.gz", hash = "sha256:f4bb08c54aa46816c77a1b5c7a2a54f5393c3ce58e7d4002e67f9081b411e921"}, + {file = "types_freezegun-1.1.8-py3-none-any.whl", hash = "sha256:59dd99a6d168bdb5bf884fda6daebd68c35bc86383df183cf182abc6dfcbb7b7"}, ] types-pytz = [ {file = "types-pytz-2021.3.6.tar.gz", hash = "sha256:74547fd90d8d8ab4f1eedf3a344a7d186d97486973895f81221a712e1e2cd993"}, {file = "types_pytz-2021.3.6-py3-none-any.whl", hash = "sha256:6805c72d51118923c5bf98633c39593d5b464d2ab49a803440e2d7ab6b8920df"}, ] types-requests = [ - {file = "types-requests-2.27.15.tar.gz", hash = "sha256:2d371183c535208d2cc8fe7473d9b49c344c7077eb70302eb708638fb86086a8"}, - {file = "types_requests-2.27.15-py3-none-any.whl", hash = "sha256:77d09182a68e447e9e8b0ffc21abf54618b96f07689dffbb6a41cf0356542969"}, + {file = "types-requests-2.27.16.tar.gz", hash = "sha256:c8010c18b291a7efb60b1452dbe12530bc25693dd657e70c62803fcdc4bffe9b"}, + {file = "types_requests-2.27.16-py3-none-any.whl", hash = "sha256:2437a5f4d16c0c8bd7539a8126d492b7aeb41e6cda670d76b286c7f83a658d42"}, ] types-urllib3 = [ {file = "types-urllib3-1.26.11.tar.gz", hash = "sha256:24d64e441168851eb05f1d022de18ae31558f5649c8f1117e384c2e85e31315b"}, @@ -2189,8 +2198,8 @@ urllib3 = [ {file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"}, ] werkzeug = [ - {file = "Werkzeug-2.0.3-py3-none-any.whl", hash = "sha256:1421ebfc7648a39a5c58c601b154165d05cf47a3cd0ccb70857cbdacf6c8f2b8"}, - {file = "Werkzeug-2.0.3.tar.gz", hash = "sha256:b863f8ff057c522164b6067c9e28b041161b4be5ba4d0daceeaa50a163822d3c"}, + {file = "Werkzeug-2.1.1-py3-none-any.whl", hash = "sha256:3c5493ece8268fecdcdc9c0b112211acd006354723b280d643ec732b6d4063d6"}, + {file = "Werkzeug-2.1.1.tar.gz", hash = "sha256:f8e89a20aeabbe8a893c24a461d3ee5dad2123b05cc6abd73ceed01d39c3ae74"}, ] wrapt = [ {file = "wrapt-1.14.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:5a9a1889cc01ed2ed5f34574c90745fab1dd06ec2eee663e8ebeefe363e8efd7"}, diff --git a/pyproject.toml b/pyproject.toml index 21f4b99f..1cdbe1d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,9 +24,9 @@ exclude = ["fittrackee/tests"] [tool.poetry.dependencies] python = "^3.7" -dramatiq = {version = "^1.12.3", extras = ["redis"]} -flask = "^2.0" -flask-bcrypt = "^0.7.1" +dramatiq = {version = "^1.13", extras = ["redis"]} +flask = "^2.1" +flask-bcrypt = "^1.0" flask-dramatiq = "^0.6.0" flask-migrate = "^3.1" gpxpy = "=1.3.4" @@ -42,7 +42,7 @@ SQLAlchemy = "1.4.32" pyOpenSSL = "^22.0" [tool.poetry.dev-dependencies] -black = "^22.1" +black = "^22.3" freezegun = "^1.2" mypy = "^0.942" pytest = "^7.1" @@ -58,7 +58,7 @@ sphinxcontrib-httpdomain = "^1.7" types-pytz = "^2021.3" types-requests = "^2.27" types-freezegun = "^1.1" -Sphinx = "^4.4.0" +Sphinx = "^4.5" [tool.poetry.scripts] fittrackee = 'fittrackee.__main__:main' From db8c9df33c27fc2e8e761029c3b72d9f929ffe9f Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 3 Apr 2022 11:42:03 +0200 Subject: [PATCH 2/5] API - fix user agent infos in emails after dependencies update (user-agent parsing has been removed in Werkzeug 2.1) --- fittrackee/__init__.py | 13 ++++++++++-- fittrackee/request.py | 24 +++++++++++++++++++++ fittrackee/tests/test_utils.py | 26 +++++++++++++++++++++++ fittrackee/tests/users/test_auth_api.py | 28 ++++++++++++------------- poetry.lock | 14 ++++++++++++- pyproject.toml | 1 + 6 files changed, 89 insertions(+), 17 deletions(-) create mode 100644 fittrackee/request.py diff --git a/fittrackee/__init__.py b/fittrackee/__init__.py index 5c0e722d..0928b89c 100644 --- a/fittrackee/__init__.py +++ b/fittrackee/__init__.py @@ -19,6 +19,7 @@ from flask_sqlalchemy import SQLAlchemy from sqlalchemy.exc import ProgrammingError from fittrackee.emails.email import EmailService +from fittrackee.request import CustomRequest VERSION = __version__ = '0.6.1' db = SQLAlchemy() @@ -35,9 +36,17 @@ logging.basicConfig( appLog = logging.getLogger('fittrackee') +class CustomFlask(Flask): + # add custom Request to handle user-agent parsing + # (removed in Werkzeug 2.1) + request_class = CustomRequest + + def create_app() -> Flask: # instantiate the app - app = Flask(__name__, static_folder='dist/static', template_folder='dist') + app = CustomFlask( + __name__, static_folder='dist/static', template_folder='dist' + ) # set config with app.app_context(): @@ -105,7 +114,7 @@ def create_app() -> Flask: appLog.setLevel(logging.DEBUG) # Enable CORS - @app.after_request + @app.after_request # type: ignore def after_request(response: Response) -> Response: response.headers.add('Access-Control-Allow-Origin', '*') response.headers.add( diff --git a/fittrackee/request.py b/fittrackee/request.py new file mode 100644 index 00000000..3b25d5bc --- /dev/null +++ b/fittrackee/request.py @@ -0,0 +1,24 @@ +from typing import Optional, Tuple + +from flask import Request +from ua_parser import user_agent_parser +from werkzeug.user_agent import UserAgent as IUserAgent + + +class UserAgent(IUserAgent): + def __init__(self, string: str): + super().__init__(string) + self.platform, self.browser = self._parse_user_agent(self.string) + + @staticmethod + def _parse_user_agent( + user_agent: str, + ) -> Tuple[Optional[str], Optional[str]]: + parsed_string = user_agent_parser.Parse(user_agent) + platform = parsed_string.get('os', {}).get('family') + browser = parsed_string.get('user_agent', {}).get('family') + return platform, browser + + +class CustomRequest(Request): + user_agent_class = UserAgent diff --git a/fittrackee/tests/test_utils.py b/fittrackee/tests/test_utils.py index b0a2069a..0b6f59fd 100644 --- a/fittrackee/tests/test_utils.py +++ b/fittrackee/tests/test_utils.py @@ -4,6 +4,7 @@ from uuid import uuid4 import pytest from fittrackee.files import display_readable_file_size +from fittrackee.request import UserAgent from fittrackee.utils import get_readable_duration @@ -42,3 +43,28 @@ class TestReadableDuration: readable_duration = get_readable_duration(30, locale) assert readable_duration == expected_duration + + +class TestParseUserAgent: + string = ( + 'Mozilla/5.0 (X11; Linux x86_64; rv:98.0) ' + 'Gecko/20100101 Firefox/98.0' + ) + + def test_it_returns_browser_name(self) -> None: + user_agent = UserAgent(self.string) + assert user_agent.browser == 'Firefox' + + def test_it_returns_other_as_brother_name_when_empty_string_provided( + self, + ) -> None: + user_agent = UserAgent('') + assert user_agent.browser == 'Other' + + def test_it_returns_operating_system(self) -> None: + user_agent = UserAgent(self.string) + assert user_agent.platform == 'Linux' + + def test_it_returns_other_as_os_when_empty_string_provided(self) -> None: + user_agent = UserAgent('') + assert user_agent.platform == 'Other' diff --git a/fittrackee/tests/users/test_auth_api.py b/fittrackee/tests/users/test_auth_api.py index fd4842ff..315dc875 100644 --- a/fittrackee/tests/users/test_auth_api.py +++ b/fittrackee/tests/users/test_auth_api.py @@ -285,8 +285,8 @@ class TestUserRegistration(ApiTestCaseMixin): { 'username': username, 'fittrackee_url': 'http://0.0.0.0:5000', - 'operating_system': 'linux', - 'browser_name': 'firefox', + 'operating_system': 'Linux', + 'browser_name': 'Firefox', 'account_confirmation_url': ( 'http://0.0.0.0:5000/account-confirmation' f'?token={expected_token}' @@ -807,8 +807,8 @@ class TestUserAccountUpdate(ApiTestCaseMixin): { 'username': user_1.username, 'fittrackee_url': 'http://0.0.0.0:5000', - 'operating_system': 'linux', - 'browser_name': 'firefox', + 'operating_system': 'Linux', + 'browser_name': 'Firefox', 'new_email_address': new_email, }, ) @@ -849,8 +849,8 @@ class TestUserAccountUpdate(ApiTestCaseMixin): { 'username': user_1.username, 'fittrackee_url': 'http://0.0.0.0:5000', - 'operating_system': 'linux', - 'browser_name': 'firefox', + 'operating_system': 'Linux', + 'browser_name': 'Firefox', 'email_confirmation_url': ( f'http://0.0.0.0:5000/email-update?token={expected_token}' ), @@ -1009,8 +1009,8 @@ class TestUserAccountUpdate(ApiTestCaseMixin): { 'username': user_1.username, 'fittrackee_url': 'http://0.0.0.0:5000', - 'operating_system': 'linux', - 'browser_name': 'firefox', + 'operating_system': 'Linux', + 'browser_name': 'Firefox', }, ) @@ -1690,8 +1690,8 @@ class TestPasswordResetRequest(ApiTestCaseMixin): f'http://0.0.0.0:5000/password-reset?token={token}' ), 'fittrackee_url': 'http://0.0.0.0:5000', - 'operating_system': 'linux', - 'browser_name': 'firefox', + 'operating_system': 'Linux', + 'browser_name': 'Firefox', }, ) @@ -1903,8 +1903,8 @@ class TestPasswordUpdate(ApiTestCaseMixin): { 'username': user_1.username, 'fittrackee_url': 'http://0.0.0.0:5000', - 'operating_system': 'linux', - 'browser_name': 'firefox', + 'operating_system': 'Linux', + 'browser_name': 'Firefox', }, ) @@ -2130,8 +2130,8 @@ class TestResendAccountConfirmationEmail(ApiTestCaseMixin): { 'username': inactive_user.username, 'fittrackee_url': 'http://0.0.0.0:5000', - 'operating_system': 'linux', - 'browser_name': 'firefox', + 'operating_system': 'Linux', + 'browser_name': 'Firefox', 'account_confirmation_url': ( 'http://0.0.0.0:5000/account-confirmation' f'?token={expected_token}' diff --git a/poetry.lock b/poetry.lock index 7adb6398..28d7079a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1315,6 +1315,14 @@ category = "main" optional = false python-versions = ">=3.6" +[[package]] +name = "ua-parser" +version = "0.10.0" +description = "Python port of Browserscope's user agent parser" +category = "main" +optional = false +python-versions = "*" + [[package]] name = "urllib3" version = "1.26.9" @@ -1380,7 +1388,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "adc2a4d8457e207233c64b835fbfc1e38dbf49dc2d807657a80b53bd8a2c622d" +content-hash = "e130b306957d6577ecd21cc1a19daa81073d5bbe77ba9f6a60ff83d8af0a2f05" [metadata.files] alabaster = [ @@ -2193,6 +2201,10 @@ typing-extensions = [ {file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"}, {file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"}, ] +ua-parser = [ + {file = "ua-parser-0.10.0.tar.gz", hash = "sha256:47b1782ed130d890018d983fac37c2a80799d9e0b9c532e734c67cf70f185033"}, + {file = "ua_parser-0.10.0-py2.py3-none-any.whl", hash = "sha256:46ab2e383c01dbd2ab284991b87d624a26a08f72da4d7d413f5bfab8b9036f8a"}, +] urllib3 = [ {file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"}, {file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"}, diff --git a/pyproject.toml b/pyproject.toml index 1cdbe1d7..022a8bb0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,6 +40,7 @@ shortuuid = "^1.0.8" staticmap = "^0.5.4" SQLAlchemy = "1.4.32" pyOpenSSL = "^22.0" +ua-parser = "^0.10.0" [tool.poetry.dev-dependencies] black = "^22.3" From b489ce7be2c4e2d69a869210245fb3bf7e8bde8b Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 3 Apr 2022 12:41:41 +0200 Subject: [PATCH 3/5] update js dependencies --- fittrackee_client/package.json | 14 ++-- fittrackee_client/yarn.lock | 123 ++++++++++++++++++++++++++++----- 2 files changed, 111 insertions(+), 26 deletions(-) diff --git a/fittrackee_client/package.json b/fittrackee_client/package.json index c90010e4..0a048779 100644 --- a/fittrackee_client/package.json +++ b/fittrackee_client/package.json @@ -22,7 +22,7 @@ "chartjs-plugin-datalabels": "^2.0.0", "core-js": "^3.21.1", "date-fns": "^2.28.0", - "date-fns-tz": "^1.3.1", + "date-fns-tz": "^1.3.3", "leaflet": "^1.7.1", "register-service-worker": "^1.7.1", "vue": "^3.0.0", @@ -36,8 +36,8 @@ "@intlify/vue-i18n-loader": "^4.0.1", "@types/chai": "^4.2.11", "@types/mocha": "^9.1.0", - "@typescript-eslint/eslint-plugin": "^5.4.0", - "@typescript-eslint/parser": "^5.4.0", + "@typescript-eslint/eslint-plugin": "^5.17.0", + "@typescript-eslint/parser": "^5.17.0", "@vue/cli-plugin-babel": "~5.0.1", "@vue/cli-plugin-eslint": "~5.0.1", "@vue/cli-plugin-pwa": "~5.0.1", @@ -51,14 +51,14 @@ "chai": "^4.3.6", "eslint": "^7.32.0", "eslint-config-prettier": "^8.5.0", - "eslint-import-resolver-typescript": "^2.7.0", + "eslint-import-resolver-typescript": "^2.7.1", "eslint-plugin-import": "^2.24.1", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-vue": "^8.5.0", - "prettier": "^2.6.1", - "sass": "^1.49.9", + "prettier": "^2.6.2", + "sass": "^1.49.11", "sass-loader": "^12.6.0", - "typescript": "~4.5.5", + "typescript": "^4.6.3", "vue-cli-plugin-i18n": "~2.3.1" }, "eslintConfig": { diff --git a/fittrackee_client/yarn.lock b/fittrackee_client/yarn.lock index 1c7e1ca8..420805d9 100644 --- a/fittrackee_client/yarn.lock +++ b/fittrackee_client/yarn.lock @@ -1456,7 +1456,7 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^5.0.0", "@typescript-eslint/eslint-plugin@^5.4.0": +"@typescript-eslint/eslint-plugin@^5.0.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz#78f246dd8d1b528fc5bfca99a8a64d4023a3d86d" integrity sha512-SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw== @@ -1471,7 +1471,22 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.4.0": +"@typescript-eslint/eslint-plugin@^5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.17.0.tgz#704eb4e75039000531255672bf1c85ee85cf1d67" + integrity sha512-qVstvQilEd89HJk3qcbKt/zZrfBZ+9h2ynpAGlWjWiizA7m/MtLT9RoX6gjtpE500vfIg8jogAkDzdCxbsFASQ== + dependencies: + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/type-utils" "5.17.0" + "@typescript-eslint/utils" "5.17.0" + debug "^4.3.2" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.0.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.16.0.tgz#e4de1bde4b4dad5b6124d3da227347616ed55508" integrity sha512-fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA== @@ -1481,6 +1496,16 @@ "@typescript-eslint/typescript-estree" "5.16.0" debug "^4.3.2" +"@typescript-eslint/parser@^5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.17.0.tgz#7def77d5bcd8458d12d52909118cf3f0a45f89d5" + integrity sha512-aRzW9Jg5Rlj2t2/crzhA2f23SIYFlF9mchGudyP0uiD6SenIxzKoLjwzHbafgHn39dNV/TV7xwQkLfFTZlJ4ig== + dependencies: + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/typescript-estree" "5.17.0" + debug "^4.3.2" + "@typescript-eslint/scope-manager@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz#7e7909d64bd0c4d8aef629cdc764b9d3e1d3a69a" @@ -1489,6 +1514,14 @@ "@typescript-eslint/types" "5.16.0" "@typescript-eslint/visitor-keys" "5.16.0" +"@typescript-eslint/scope-manager@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz#4cea7d0e0bc0e79eb60cad431c89120987c3f952" + integrity sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w== + dependencies: + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/visitor-keys" "5.17.0" + "@typescript-eslint/type-utils@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz#b482bdde1d7d7c0c7080f7f2f67ea9580b9e0692" @@ -1498,11 +1531,25 @@ debug "^4.3.2" tsutils "^3.21.0" +"@typescript-eslint/type-utils@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.17.0.tgz#1c4549d68c89877662224aabb29fbbebf5fc9672" + integrity sha512-3hU0RynUIlEuqMJA7dragb0/75gZmwNwFf/QJokWzPehTZousP/MNifVSgjxNcDCkM5HI2K22TjQWUmmHUINSg== + dependencies: + "@typescript-eslint/utils" "5.17.0" + debug "^4.3.2" + tsutils "^3.21.0" + "@typescript-eslint/types@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.16.0.tgz#5827b011982950ed350f075eaecb7f47d3c643ee" integrity sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g== +"@typescript-eslint/types@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.17.0.tgz#861ec9e669ffa2aa9b873dd4d28d9b1ce26d216f" + integrity sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw== + "@typescript-eslint/typescript-estree@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz#32259459ec62f5feddca66adc695342f30101f61" @@ -1516,6 +1563,19 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz#a7cba7dfc8f9cc2ac78c18584e684507df4f2488" + integrity sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg== + dependencies: + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/visitor-keys" "5.17.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/utils@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.16.0.tgz#42218b459d6d66418a4eb199a382bdc261650679" @@ -1528,6 +1588,18 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" +"@typescript-eslint/utils@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.17.0.tgz#549a9e1d491c6ccd3624bc3c1b098f5cfb45f306" + integrity sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/typescript-estree" "5.17.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + "@typescript-eslint/visitor-keys@5.16.0": version "5.16.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz#f27dc3b943e6317264c7492e390c6844cd4efbbb" @@ -1536,6 +1608,14 @@ "@typescript-eslint/types" "5.16.0" eslint-visitor-keys "^3.0.0" +"@typescript-eslint/visitor-keys@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz#52daae45c61b0211b4c81b53a71841911e479128" + integrity sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA== + dependencies: + "@typescript-eslint/types" "5.17.0" + eslint-visitor-keys "^3.0.0" + "@ungap/promise-all-settled@1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" @@ -3198,10 +3278,10 @@ data-urls@^3.0.1: whatwg-mimetype "^3.0.0" whatwg-url "^10.0.0" -date-fns-tz@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/date-fns-tz/-/date-fns-tz-1.3.1.tgz#88b6374e5a74cfb11ec2d2b120cfe0bc02eeb862" - integrity sha512-Uy+wph6HcQ0IG8TWbVyXicgDmB1zdvb0CoIknZQaxiTun4uSfxLR+8gSTC2C3KCLq+0fEIuEtJ/ORDRIn6doQw== +date-fns-tz@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/date-fns-tz/-/date-fns-tz-1.3.3.tgz#7884a4b3ed6cd95bfd81831d608e5ef8be500c86" + integrity sha512-Gks46gwbSauBQnV3Oofluj1wTm8J0tM7sbSJ9P+cJq/ZnTCpMohTKmmO5Tn+jQ7dyn0+b8G7cY4O2DZ5P/LXcA== date-fns@^2.28.0: version "2.28.0" @@ -3646,10 +3726,10 @@ eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-import-resolver-typescript@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.0.tgz#1f9d391b636dccdbaa4a3b1a87eb9a8237e23963" - integrity sha512-MNHS3u5pebvROX4MjGP9coda589ZGfL1SqdxUV4kSrcclfDRWvNE2D+eljbnWVMvWDVRgT89nhscMHPKYGcObQ== +eslint-import-resolver-typescript@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" + integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== dependencies: debug "^4.3.4" glob "^7.2.0" @@ -6317,11 +6397,16 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -"prettier@^1.18.2 || ^2.0.0", prettier@^2.6.1: +"prettier@^1.18.2 || ^2.0.0": version "2.6.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== +prettier@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== + pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -6673,10 +6758,10 @@ sass-loader@^12.6.0: klona "^2.0.4" neo-async "^2.6.2" -sass@^1.49.9: - version "1.49.9" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" - integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== +sass@^1.49.11: + version "1.49.11" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.11.tgz#1ffeb77faeed8b806a2a1e021d7c9fd3fc322cb7" + integrity sha512-wvS/geXgHUGs6A/4ud5BFIWKO1nKd7wYIGimDk4q4GFkJicILActpv9ueMT4eRGSsp1BdKHuw1WwAHXbhsJELQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -7471,10 +7556,10 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typescript@~4.5.5: - version "4.5.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" - integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== +typescript@^4.6.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" + integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== unbox-primitive@^1.0.1: version "1.0.1" From dbbe27418bab426ee7bd37fd74d81c59d35d24c6 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 3 Apr 2022 12:49:09 +0200 Subject: [PATCH 4/5] Client - update dist files --- fittrackee/dist/index.html | 2 +- fittrackee/dist/service-worker.js | 2 +- fittrackee/dist/service-worker.js.map | 2 +- .../dist/static/js/{app.85ebbb25.js => app.9fb29e8d.js} | 4 ++-- .../static/js/{app.85ebbb25.js.map => app.9fb29e8d.js.map} | 2 +- .../{chunk-vendors.c045258f.js => chunk-vendors.63e25135.js} | 4 ++-- fittrackee/dist/static/js/chunk-vendors.63e25135.js.map | 1 + fittrackee/dist/static/js/chunk-vendors.c045258f.js.map | 1 - .../dist/static/js/{reset.30b1815a.js => reset.04930981.js} | 2 +- .../js/{reset.30b1815a.js.map => reset.04930981.js.map} | 2 +- .../js/{statistics.cbaa146a.js => statistics.5b24903f.js} | 2 +- ...{statistics.cbaa146a.js.map => statistics.5b24903f.js.map} | 2 +- .../static/js/{workouts.6b03864e.js => workouts.964c0bc7.js} | 2 +- .../js/{workouts.6b03864e.js.map => workouts.964c0bc7.js.map} | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) rename fittrackee/dist/static/js/{app.85ebbb25.js => app.9fb29e8d.js} (99%) rename fittrackee/dist/static/js/{app.85ebbb25.js.map => app.9fb29e8d.js.map} (99%) rename fittrackee/dist/static/js/{chunk-vendors.c045258f.js => chunk-vendors.63e25135.js} (93%) create mode 100644 fittrackee/dist/static/js/chunk-vendors.63e25135.js.map delete mode 100644 fittrackee/dist/static/js/chunk-vendors.c045258f.js.map rename fittrackee/dist/static/js/{reset.30b1815a.js => reset.04930981.js} (99%) rename fittrackee/dist/static/js/{reset.30b1815a.js.map => reset.04930981.js.map} (99%) rename fittrackee/dist/static/js/{statistics.cbaa146a.js => statistics.5b24903f.js} (98%) rename fittrackee/dist/static/js/{statistics.cbaa146a.js.map => statistics.5b24903f.js.map} (99%) rename fittrackee/dist/static/js/{workouts.6b03864e.js => workouts.964c0bc7.js} (99%) rename fittrackee/dist/static/js/{workouts.6b03864e.js.map => workouts.964c0bc7.js.map} (99%) diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index 7b331cac..0f4675cb 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/service-worker.js b/fittrackee/dist/service-worker.js index c5ab9566..50ec77ff 100644 --- a/fittrackee/dist/service-worker.js +++ b/fittrackee/dist/service-worker.js @@ -1,2 +1,2 @@ -if(!self.define){let s,i={};const e=(e,t)=>(e=new URL(e+".js",t).href,i[e]||new Promise((i=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=i,document.head.appendChild(s)}else s=e,importScripts(e),i()})).then((()=>{let s=i[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s})));self.define=(t,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(i[a])return;let n={};const l=s=>e(s,a),c={module:{uri:a},exports:n,require:l};i[a]=Promise.all(t.map((s=>c[s]||l(s)))).then((s=>(r(...s),n)))}}define(["./workbox-4f586afe"],(function(s){"use strict";s.setCacheNameDetails({prefix:"fittrackee_client"}),self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"/img/bike.svg",revision:"ab4faed007625b209af72b9b8dce84db"},{url:"/img/weather/breeze.svg",revision:"428c6ccb838f8e91dc4826c5b650a98b"},{url:"/img/weather/clear-day.svg",revision:"f3e8628de2e5089f508f03944f8be951"},{url:"/img/weather/clear-night.svg",revision:"6a0d6579a93e89fdf1a2a95b398e0935"},{url:"/img/weather/cloudy.svg",revision:"c52fe62c9d9fea2cdf5ae2813b3df366"},{url:"/img/weather/fog.svg",revision:"9f4d74289594eb83f9c175d13167a0eb"},{url:"/img/weather/partly-cloudy-day.svg",revision:"f730c2e4f4c014e8b49c9d4a0a141b90"},{url:"/img/weather/partly-cloudy-night.svg",revision:"0d9270901c4dffbc05f3998d835171c8"},{url:"/img/weather/pour-rain.svg",revision:"91eb3159ba8781d258d8c384a8ef987c"},{url:"/img/weather/rain.svg",revision:"c52ca88ce0ddf4de0fc29167e578b2be"},{url:"/img/weather/sleet.svg",revision:"97d61d89332f912c1ec27bcbe077b7bd"},{url:"/img/weather/snow.svg",revision:"9e88c89c0d6d14174e9665e98932dd80"},{url:"/img/weather/temperature.svg",revision:"d42b62d0b57d5d326506277d87b70435"},{url:"/img/weather/wind.svg",revision:"d75fbe559220d7b2b9577a98a91f38d0"},{url:"/img/workouts/finish.svg",revision:"375196b7ade7c07c3b64ac4cb8b850a8"},{url:"/img/workouts/mountains.svg",revision:"0b94f1d4a050a86ca5ac89ab3ed60f9c"},{url:"/img/workouts/start.svg",revision:"97f6a197b6c2869e0cb2ff0e7697af86"},{url:"/index.html",revision:"a09030d9541008f9c260b12fea421121"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.3729aa92.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.203e78e2.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.91fe968e.css",revision:null},{url:"/static/css/workouts.66f98dac.css",revision:null},{url:"/static/fonts/forkawesome-webfont.eot",revision:"e719f9244c69e28e7d00e725ca1e280e"},{url:"/static/fonts/forkawesome-webfont.svg",revision:"d58987a18774d859d98af95281c1dee5"},{url:"/static/fonts/forkawesome-webfont.ttf",revision:"fe45770c6c277da3921355d971045ea5"},{url:"/static/fonts/forkawesome-webfont.woff",revision:"92cd4d8328b2ae614386a01ff935a9f3"},{url:"/static/fonts/forkawesome-webfont.woff2",revision:"12ee76445f0383c58529169d700b6650"},{url:"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2",revision:null},{url:"/static/img/map.5b26d82b.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-700.b8a7047e.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-italic.0b285c83.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-regular.59a385b4.svg",revision:null},{url:"/static/js/243.1c009238.js",revision:null},{url:"/static/js/431.2dd6d03a.js",revision:null},{url:"/static/js/633.05b59575.js",revision:null},{url:"/static/js/858.3eeaffeb.js",revision:null},{url:"/static/js/93.6f43c046.js",revision:null},{url:"/static/js/admin.5ec56937.js",revision:null},{url:"/static/js/app.85ebbb25.js",revision:null},{url:"/static/js/chunk-vendors.c045258f.js",revision:null},{url:"/static/js/password.23cdd304.js",revision:null},{url:"/static/js/profile.38438c89.js",revision:null},{url:"/static/js/reset.30b1815a.js",revision:null},{url:"/static/js/statistics.cbaa146a.js",revision:null},{url:"/static/js/workouts.6b03864e.js",revision:null}],{})})); +if(!self.define){let s,i={};const e=(e,t)=>(e=new URL(e+".js",t).href,i[e]||new Promise((i=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=i,document.head.appendChild(s)}else s=e,importScripts(e),i()})).then((()=>{let s=i[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s})));self.define=(t,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(i[a])return;let n={};const l=s=>e(s,a),c={module:{uri:a},exports:n,require:l};i[a]=Promise.all(t.map((s=>c[s]||l(s)))).then((s=>(r(...s),n)))}}define(["./workbox-4f586afe"],(function(s){"use strict";s.setCacheNameDetails({prefix:"fittrackee_client"}),self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"/img/bike.svg",revision:"ab4faed007625b209af72b9b8dce84db"},{url:"/img/weather/breeze.svg",revision:"428c6ccb838f8e91dc4826c5b650a98b"},{url:"/img/weather/clear-day.svg",revision:"f3e8628de2e5089f508f03944f8be951"},{url:"/img/weather/clear-night.svg",revision:"6a0d6579a93e89fdf1a2a95b398e0935"},{url:"/img/weather/cloudy.svg",revision:"c52fe62c9d9fea2cdf5ae2813b3df366"},{url:"/img/weather/fog.svg",revision:"9f4d74289594eb83f9c175d13167a0eb"},{url:"/img/weather/partly-cloudy-day.svg",revision:"f730c2e4f4c014e8b49c9d4a0a141b90"},{url:"/img/weather/partly-cloudy-night.svg",revision:"0d9270901c4dffbc05f3998d835171c8"},{url:"/img/weather/pour-rain.svg",revision:"91eb3159ba8781d258d8c384a8ef987c"},{url:"/img/weather/rain.svg",revision:"c52ca88ce0ddf4de0fc29167e578b2be"},{url:"/img/weather/sleet.svg",revision:"97d61d89332f912c1ec27bcbe077b7bd"},{url:"/img/weather/snow.svg",revision:"9e88c89c0d6d14174e9665e98932dd80"},{url:"/img/weather/temperature.svg",revision:"d42b62d0b57d5d326506277d87b70435"},{url:"/img/weather/wind.svg",revision:"d75fbe559220d7b2b9577a98a91f38d0"},{url:"/img/workouts/finish.svg",revision:"375196b7ade7c07c3b64ac4cb8b850a8"},{url:"/img/workouts/mountains.svg",revision:"0b94f1d4a050a86ca5ac89ab3ed60f9c"},{url:"/img/workouts/start.svg",revision:"97f6a197b6c2869e0cb2ff0e7697af86"},{url:"/index.html",revision:"2b309d1383838421a7d328fb48902a96"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.3729aa92.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.203e78e2.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.91fe968e.css",revision:null},{url:"/static/css/workouts.66f98dac.css",revision:null},{url:"/static/fonts/forkawesome-webfont.eot",revision:"e719f9244c69e28e7d00e725ca1e280e"},{url:"/static/fonts/forkawesome-webfont.svg",revision:"d58987a18774d859d98af95281c1dee5"},{url:"/static/fonts/forkawesome-webfont.ttf",revision:"fe45770c6c277da3921355d971045ea5"},{url:"/static/fonts/forkawesome-webfont.woff",revision:"92cd4d8328b2ae614386a01ff935a9f3"},{url:"/static/fonts/forkawesome-webfont.woff2",revision:"12ee76445f0383c58529169d700b6650"},{url:"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2",revision:null},{url:"/static/img/map.5b26d82b.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-700.b8a7047e.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-italic.0b285c83.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-regular.59a385b4.svg",revision:null},{url:"/static/js/243.1c009238.js",revision:null},{url:"/static/js/431.2dd6d03a.js",revision:null},{url:"/static/js/633.05b59575.js",revision:null},{url:"/static/js/858.3eeaffeb.js",revision:null},{url:"/static/js/93.6f43c046.js",revision:null},{url:"/static/js/admin.5ec56937.js",revision:null},{url:"/static/js/app.9fb29e8d.js",revision:null},{url:"/static/js/chunk-vendors.63e25135.js",revision:null},{url:"/static/js/password.23cdd304.js",revision:null},{url:"/static/js/profile.38438c89.js",revision:null},{url:"/static/js/reset.04930981.js",revision:null},{url:"/static/js/statistics.5b24903f.js",revision:null},{url:"/static/js/workouts.964c0bc7.js",revision:null}],{})})); //# sourceMappingURL=service-worker.js.map diff --git a/fittrackee/dist/service-worker.js.map b/fittrackee/dist/service-worker.js.map index 6867838a..f4d62aa5 100644 --- a/fittrackee/dist/service-worker.js.map +++ b/fittrackee/dist/service-worker.js.map @@ -1 +1 @@ -{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/25371a9e917769e4d6f8013b8b58d3c8/service-worker.js"],"sourcesContent":["import {setCacheNameDetails as workbox_core_setCacheNameDetails} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-core/setCacheNameDetails.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\nworkbox_core_setCacheNameDetails({prefix: \"fittrackee_client\"});\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"/img/bike.svg\",\n \"revision\": \"ab4faed007625b209af72b9b8dce84db\"\n },\n {\n \"url\": \"/img/weather/breeze.svg\",\n \"revision\": \"428c6ccb838f8e91dc4826c5b650a98b\"\n },\n {\n \"url\": \"/img/weather/clear-day.svg\",\n \"revision\": \"f3e8628de2e5089f508f03944f8be951\"\n },\n {\n \"url\": \"/img/weather/clear-night.svg\",\n \"revision\": \"6a0d6579a93e89fdf1a2a95b398e0935\"\n },\n {\n \"url\": \"/img/weather/cloudy.svg\",\n \"revision\": \"c52fe62c9d9fea2cdf5ae2813b3df366\"\n },\n {\n \"url\": \"/img/weather/fog.svg\",\n \"revision\": \"9f4d74289594eb83f9c175d13167a0eb\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-day.svg\",\n \"revision\": \"f730c2e4f4c014e8b49c9d4a0a141b90\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-night.svg\",\n \"revision\": \"0d9270901c4dffbc05f3998d835171c8\"\n },\n {\n \"url\": \"/img/weather/pour-rain.svg\",\n \"revision\": \"91eb3159ba8781d258d8c384a8ef987c\"\n },\n {\n \"url\": \"/img/weather/rain.svg\",\n \"revision\": \"c52ca88ce0ddf4de0fc29167e578b2be\"\n },\n {\n \"url\": \"/img/weather/sleet.svg\",\n \"revision\": \"97d61d89332f912c1ec27bcbe077b7bd\"\n },\n {\n \"url\": \"/img/weather/snow.svg\",\n \"revision\": \"9e88c89c0d6d14174e9665e98932dd80\"\n },\n {\n \"url\": \"/img/weather/temperature.svg\",\n \"revision\": \"d42b62d0b57d5d326506277d87b70435\"\n },\n {\n \"url\": \"/img/weather/wind.svg\",\n \"revision\": \"d75fbe559220d7b2b9577a98a91f38d0\"\n },\n {\n \"url\": \"/img/workouts/finish.svg\",\n \"revision\": \"375196b7ade7c07c3b64ac4cb8b850a8\"\n },\n {\n \"url\": \"/img/workouts/mountains.svg\",\n \"revision\": \"0b94f1d4a050a86ca5ac89ab3ed60f9c\"\n },\n {\n \"url\": \"/img/workouts/start.svg\",\n \"revision\": \"97f6a197b6c2869e0cb2ff0e7697af86\"\n },\n {\n \"url\": \"/index.html\",\n \"revision\": \"a09030d9541008f9c260b12fea421121\"\n },\n {\n \"url\": \"/manifest.json\",\n \"revision\": \"c61028ca6e9f81bf958e6b66238e2d7c\"\n },\n {\n \"url\": \"/robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"/static/css/admin.73df498d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/app.3729aa92.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/fork-awesome.min.css\",\n \"revision\": \"82c1118c918377daaa71a320ab8eea42\"\n },\n {\n \"url\": \"/static/css/leaflet.css\",\n \"revision\": \"5c761a156eea82263d8bacf1718fe04d\"\n },\n {\n \"url\": \"/static/css/profile.203e78e2.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.91fe968e.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.66f98dac.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.eot\",\n \"revision\": \"e719f9244c69e28e7d00e725ca1e280e\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.svg\",\n \"revision\": \"d58987a18774d859d98af95281c1dee5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.ttf\",\n \"revision\": \"fe45770c6c277da3921355d971045ea5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff\",\n \"revision\": \"92cd4d8328b2ae614386a01ff935a9f3\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff2\",\n \"revision\": \"12ee76445f0383c58529169d700b6650\"\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/map.5b26d82b.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-700.b8a7047e.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-italic.0b285c83.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-regular.59a385b4.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/243.1c009238.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.2dd6d03a.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.05b59575.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.3eeaffeb.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.6f43c046.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.5ec56937.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.85ebbb25.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.c045258f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/password.23cdd304.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.38438c89.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.30b1815a.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.cbaa146a.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.6b03864e.js\",\n \"revision\": null\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["workbox_core_setCacheNameDetails","prefix","self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAiBAA,EAAAA,oBAAiC,CAACC,OAAQ,sBAG1CC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,iBAYTC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACKC,SAAA,oCAEd,CACED,IAAO,0BACKC,SAAA,oCAEd,CACED,IAAO,6BACKC,SAAA,oCAEd,CACED,IAAO,+BACKC,SAAA,oCAEd,CACED,IAAO,0BACKC,SAAA,oCAEd,CACED,IAAO,uBACKC,SAAA,oCAEd,CACED,IAAO,qCACKC,SAAA,oCAEd,CACED,IAAO,uCACKC,SAAA,oCAEd,CACED,IAAO,6BACKC,SAAA,oCAEd,CACED,IAAO,wBACKC,SAAA,oCAEd,CACED,IAAO,yBACKC,SAAA,oCAEd,CACED,IAAO,wBACKC,SAAA,oCAEd,CACED,IAAO,+BACKC,SAAA,oCAEd,CACED,IAAO,wBACKC,SAAA,oCAEd,CACED,IAAO,2BACKC,SAAA,oCAEd,CACED,IAAO,8BACKC,SAAA,oCAEd,CACED,IAAO,0BACKC,SAAA,oCAEd,CACED,IAAO,cACKC,SAAA,oCAEd,CACED,IAAO,iBACKC,SAAA,oCAEd,CACED,IAAO,cACKC,SAAA,oCAEd,CACED,IAAO,iCACKC,SAAA,MAEd,CACED,IAAO,+BACKC,SAAA,MAEd,CACED,IAAO,mCACKC,SAAA,oCAEd,CACED,IAAO,0BACKC,SAAA,oCAEd,CACED,IAAO,mCACKC,SAAA,MAEd,CACED,IAAO,iCACKC,SAAA,MAEd,CACED,IAAO,sCACKC,SAAA,MAEd,CACED,IAAO,oCACKC,SAAA,MAEd,CACED,IAAO,wCACKC,SAAA,oCAEd,CACED,IAAO,wCACKC,SAAA,oCAEd,CACED,IAAO,wCACKC,SAAA,oCAEd,CACED,IAAO,yCACKC,SAAA,oCAEd,CACED,IAAO,0CACKC,SAAA,oCAEd,CACED,IAAO,kDACKC,SAAA,MAEd,CACED,IAAO,oDACKC,SAAA,MAEd,CACED,IAAO,mDACKC,SAAA,MAEd,CACED,IAAO,kDACKC,SAAA,MAEd,CACED,IAAO,uDACKC,SAAA,MAEd,CACED,IAAO,qDACKC,SAAA,MAEd,CACED,IAAO,qDACKC,SAAA,MAEd,CACED,IAAO,sDACKC,SAAA,MAEd,CACED,IAAO,uDACKC,SAAA,MAEd,CACED,IAAO,sDACKC,SAAA,MAEd,CACED,IAAO,sDACKC,SAAA,MAEd,CACED,IAAO,wDACKC,SAAA,MAEd,CACED,IAAO,+BACKC,SAAA,MAEd,CACED,IAAO,gDACKC,SAAA,MAEd,CACED,IAAO,mDACKC,SAAA,MAEd,CACED,IAAO,oDACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,4BACKC,SAAA,MAEd,CACED,IAAO,+BACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,uCACKC,SAAA,MAEd,CACED,IAAO,kCACKC,SAAA,MAEd,CACED,IAAO,iCACKC,SAAA,MAEd,CACED,IAAO,+BACKC,SAAA,MAEd,CACED,IAAO,oCACKC,SAAA,MAEd,CACED,IAAO,kCACKC,SAAA,OAEb"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/8f1926f11d3207f6048110553da1e282/service-worker.js"],"sourcesContent":["import {setCacheNameDetails as workbox_core_setCacheNameDetails} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-core/setCacheNameDetails.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\nworkbox_core_setCacheNameDetails({prefix: \"fittrackee_client\"});\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"/img/bike.svg\",\n \"revision\": \"ab4faed007625b209af72b9b8dce84db\"\n },\n {\n \"url\": \"/img/weather/breeze.svg\",\n \"revision\": \"428c6ccb838f8e91dc4826c5b650a98b\"\n },\n {\n \"url\": \"/img/weather/clear-day.svg\",\n \"revision\": \"f3e8628de2e5089f508f03944f8be951\"\n },\n {\n \"url\": \"/img/weather/clear-night.svg\",\n \"revision\": \"6a0d6579a93e89fdf1a2a95b398e0935\"\n },\n {\n \"url\": \"/img/weather/cloudy.svg\",\n \"revision\": \"c52fe62c9d9fea2cdf5ae2813b3df366\"\n },\n {\n \"url\": \"/img/weather/fog.svg\",\n \"revision\": \"9f4d74289594eb83f9c175d13167a0eb\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-day.svg\",\n \"revision\": \"f730c2e4f4c014e8b49c9d4a0a141b90\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-night.svg\",\n \"revision\": \"0d9270901c4dffbc05f3998d835171c8\"\n },\n {\n \"url\": \"/img/weather/pour-rain.svg\",\n \"revision\": \"91eb3159ba8781d258d8c384a8ef987c\"\n },\n {\n \"url\": \"/img/weather/rain.svg\",\n \"revision\": \"c52ca88ce0ddf4de0fc29167e578b2be\"\n },\n {\n \"url\": \"/img/weather/sleet.svg\",\n \"revision\": \"97d61d89332f912c1ec27bcbe077b7bd\"\n },\n {\n \"url\": \"/img/weather/snow.svg\",\n \"revision\": \"9e88c89c0d6d14174e9665e98932dd80\"\n },\n {\n \"url\": \"/img/weather/temperature.svg\",\n \"revision\": \"d42b62d0b57d5d326506277d87b70435\"\n },\n {\n \"url\": \"/img/weather/wind.svg\",\n \"revision\": \"d75fbe559220d7b2b9577a98a91f38d0\"\n },\n {\n \"url\": \"/img/workouts/finish.svg\",\n \"revision\": \"375196b7ade7c07c3b64ac4cb8b850a8\"\n },\n {\n \"url\": \"/img/workouts/mountains.svg\",\n \"revision\": \"0b94f1d4a050a86ca5ac89ab3ed60f9c\"\n },\n {\n \"url\": \"/img/workouts/start.svg\",\n \"revision\": \"97f6a197b6c2869e0cb2ff0e7697af86\"\n },\n {\n \"url\": \"/index.html\",\n \"revision\": \"2b309d1383838421a7d328fb48902a96\"\n },\n {\n \"url\": \"/manifest.json\",\n \"revision\": \"c61028ca6e9f81bf958e6b66238e2d7c\"\n },\n {\n \"url\": \"/robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"/static/css/admin.73df498d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/app.3729aa92.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/fork-awesome.min.css\",\n \"revision\": \"82c1118c918377daaa71a320ab8eea42\"\n },\n {\n \"url\": \"/static/css/leaflet.css\",\n \"revision\": \"5c761a156eea82263d8bacf1718fe04d\"\n },\n {\n \"url\": \"/static/css/profile.203e78e2.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.91fe968e.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.66f98dac.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.eot\",\n \"revision\": \"e719f9244c69e28e7d00e725ca1e280e\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.svg\",\n \"revision\": \"d58987a18774d859d98af95281c1dee5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.ttf\",\n \"revision\": \"fe45770c6c277da3921355d971045ea5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff\",\n \"revision\": \"92cd4d8328b2ae614386a01ff935a9f3\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff2\",\n \"revision\": \"12ee76445f0383c58529169d700b6650\"\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/map.5b26d82b.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-700.b8a7047e.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-italic.0b285c83.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-regular.59a385b4.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/243.1c009238.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.2dd6d03a.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.05b59575.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.3eeaffeb.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.6f43c046.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.5ec56937.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.9fb29e8d.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.63e25135.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/password.23cdd304.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.38438c89.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.04930981.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.5b24903f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.964c0bc7.js\",\n \"revision\": null\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["workbox_core_setCacheNameDetails","prefix","self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAiBAA,EAAAA,oBAAiC,CAACC,OAAQ,sBAG1CC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,iBAYTC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACKC,SAAA,oCAEd,CACED,IAAO,0BACKC,SAAA,oCAEd,CACED,IAAO,6BACKC,SAAA,oCAEd,CACED,IAAO,+BACKC,SAAA,oCAEd,CACED,IAAO,0BACKC,SAAA,oCAEd,CACED,IAAO,uBACKC,SAAA,oCAEd,CACED,IAAO,qCACKC,SAAA,oCAEd,CACED,IAAO,uCACKC,SAAA,oCAEd,CACED,IAAO,6BACKC,SAAA,oCAEd,CACED,IAAO,wBACKC,SAAA,oCAEd,CACED,IAAO,yBACKC,SAAA,oCAEd,CACED,IAAO,wBACKC,SAAA,oCAEd,CACED,IAAO,+BACKC,SAAA,oCAEd,CACED,IAAO,wBACKC,SAAA,oCAEd,CACED,IAAO,2BACKC,SAAA,oCAEd,CACED,IAAO,8BACKC,SAAA,oCAEd,CACED,IAAO,0BACKC,SAAA,oCAEd,CACED,IAAO,cACKC,SAAA,oCAEd,CACED,IAAO,iBACKC,SAAA,oCAEd,CACED,IAAO,cACKC,SAAA,oCAEd,CACED,IAAO,iCACKC,SAAA,MAEd,CACED,IAAO,+BACKC,SAAA,MAEd,CACED,IAAO,mCACKC,SAAA,oCAEd,CACED,IAAO,0BACKC,SAAA,oCAEd,CACED,IAAO,mCACKC,SAAA,MAEd,CACED,IAAO,iCACKC,SAAA,MAEd,CACED,IAAO,sCACKC,SAAA,MAEd,CACED,IAAO,oCACKC,SAAA,MAEd,CACED,IAAO,wCACKC,SAAA,oCAEd,CACED,IAAO,wCACKC,SAAA,oCAEd,CACED,IAAO,wCACKC,SAAA,oCAEd,CACED,IAAO,yCACKC,SAAA,oCAEd,CACED,IAAO,0CACKC,SAAA,oCAEd,CACED,IAAO,kDACKC,SAAA,MAEd,CACED,IAAO,oDACKC,SAAA,MAEd,CACED,IAAO,mDACKC,SAAA,MAEd,CACED,IAAO,kDACKC,SAAA,MAEd,CACED,IAAO,uDACKC,SAAA,MAEd,CACED,IAAO,qDACKC,SAAA,MAEd,CACED,IAAO,qDACKC,SAAA,MAEd,CACED,IAAO,sDACKC,SAAA,MAEd,CACED,IAAO,uDACKC,SAAA,MAEd,CACED,IAAO,sDACKC,SAAA,MAEd,CACED,IAAO,sDACKC,SAAA,MAEd,CACED,IAAO,wDACKC,SAAA,MAEd,CACED,IAAO,+BACKC,SAAA,MAEd,CACED,IAAO,gDACKC,SAAA,MAEd,CACED,IAAO,mDACKC,SAAA,MAEd,CACED,IAAO,oDACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,4BACKC,SAAA,MAEd,CACED,IAAO,+BACKC,SAAA,MAEd,CACED,IAAO,6BACKC,SAAA,MAEd,CACED,IAAO,uCACKC,SAAA,MAEd,CACED,IAAO,kCACKC,SAAA,MAEd,CACED,IAAO,iCACKC,SAAA,MAEd,CACED,IAAO,+BACKC,SAAA,MAEd,CACED,IAAO,oCACKC,SAAA,MAEd,CACED,IAAO,kCACKC,SAAA,OAEb"} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.85ebbb25.js b/fittrackee/dist/static/js/app.9fb29e8d.js similarity index 99% rename from fittrackee/dist/static/js/app.85ebbb25.js rename to fittrackee/dist/static/js/app.9fb29e8d.js index f7a060c5..c44c0b1c 100644 --- a/fittrackee/dist/static/js/app.85ebbb25.js +++ b/fittrackee/dist/static/js/app.9fb29e8d.js @@ -1,2 +1,2 @@ -(function(){var e={5167:function(e,t,n){"use strict";var r=n(9669),a=n.n(r),s=n(12),o=n(8602),i=n(2024);const l=a().create({baseURL:(0,i.k)()});l.interceptors.request.use((e=>{const t=s.Z.getters[o.YN.GETTERS.AUTH_TOKEN];if(t){const n=`Bearer ${t}`;e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization=`Bearer ${t}`)}return e}),(e=>Promise.reject(e))),t["Z"]=l},2540:function(e,t,n){"use strict";var r=n(3324);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){const a=r[1];t[a]=e(n).default}})),t}t["Z"]=(0,r.o)({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:a()})},9350:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return _}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contact the administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee is a self-hosted outdoor activity tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["under ",n(r(0))," license "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Source code"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activate account"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},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:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Administrator email for contact"])},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"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["no contact email"])},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."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to reset ",n(r(0))," password?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Current email"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["New email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The password has been reset."])},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."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset password"])},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)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Update email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The email address has been updated."])},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"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["account status"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},s={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."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["The new email must be different than curent email"])},"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."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Sorry, that username is already taken."])},"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."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["A valid email must be provided for admininstrator contact"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},o={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Resend confirmation email"])},BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESET:e=>{const{normalize:t}=e;return t(["Reset"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["about"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},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"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},c={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 to have encountered some issues.
Please try again 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"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Something went wrong"])}},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"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Snowshoes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},d={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"])}}},m={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Didn't received instructions?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Check your email. A new confirmation email has been sent to the address provided."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Current password"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Enter a valid email address."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filter on username"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["hide 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"])},LOG_IN:e=>{const{normalize:t}=e;return t(["log in"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["New password"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["No users found."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["At least 8 characters required."])},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_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["weak"])},AVERAGE:e=>{const{normalize:t}=e;return t(["average"])},GOOD:e=>{const{normalize:t}=e;return t(["good"])},STRONG:e=>{const{normalize:t}=e;return t(["strong"])},LABEL:e=>{const{normalize:t}=e;return t(["password strength"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Avoid predictable letter substitutions like ","@"," for a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Avoid reversed spellings of common words."])},allUppercase:e=>{const{normalize:t}=e;return t(["Capitalize some, but not all letters."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalize more than the first letter."])},dates:e=>{const{normalize:t}=e;return t(["Avoid dates and years that are associated with you."])},recentYears:e=>{const{normalize:t}=e;return t(["Avoid recent years."])},associatedYears:e=>{const{normalize:t}=e;return t(["Avoid years that are associated with you."])},sequences:e=>{const{normalize:t}=e;return t(["Avoid common character sequences."])},repeated:e=>{const{normalize:t}=e;return t(["Avoid repeated words and characters."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Use longer keyboard patterns and change typing direction multiple times."])},anotherWord:e=>{const{normalize:t}=e;return t(["Add more words that are less common."])},useWords:e=>{const{normalize:t}=e;return t(["Use multiple words, but avoid common phrases."])},noNeed:e=>{const{normalize:t}=e;return t(["You can create strong passwords without using symbols, numbers, or uppercase letters."])},pwned:e=>{const{normalize:t}=e;return t(["If you use this password elsewhere, you should change it."])}}},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:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Account edition"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Please ",n(r(0))," to change your email address again or contact the administrator"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["account"])},PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully. Please check your email to confirm your new email address."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["A link to activate your account has been emailed to the address provided."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Resend account confirmation email"])},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"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["show password"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["This user account is inactive."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 to 30 characters required, only alphanumeric characters and the underscore character "_" allowed.'])}},S={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farthest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start and finish"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},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"])}},_={about:r,admin:a,api:s,buttons:o,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},1079:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return _}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contacter l'administrateur"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee est un tracker d'activités sportives (en extérieur)."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["sous license ",n(r(0))," (en)"])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Code source (en)"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activer le compte"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},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:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Email de l'administrateur pour contact "])},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) "])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["non renseigné"])},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(["Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur ",n(r(0))," ? Toutes les données seront définitivement."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur ",n(r(0))," ?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Adresse email actuelle"])},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."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Nouvelle adresse email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Le mot de passe a été réinitialisé."])},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."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinit. le mot de passe"])},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)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Changer l'email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["L'adresse email a été mise à jour."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les droits d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les droits 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"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["statut du compte"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},s={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."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["La nouvelle addresse email doit être differente de l'adresse actuelle"])},"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."])},"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 username is already taken":e=>{const{normalize:t}=e;return t(["Désolé, ce nom d'utilisateur est déjà utilisé."])},"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"])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Une adresse email doit être fournie pour le contact de l'administrateur."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},o={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Envoyer à nouveau l'email de confirmation"])},BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},RESET:e=>{const{normalize:t}=e;return t(["Réinit."])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["à propos"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},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"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},c={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"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Une erreur s'est produite"])}},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"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Electrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Raquettes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},d={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"])}}},m={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Vous n'avez pas reçu les instructions ?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Vérifiez votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email fournie."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe actuel"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisir une adresse email valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filtrer sur le nom d'utilisateur"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["masquer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOG_IN:e=>{const{normalize:t}=e;return t(["connecter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Nouveau mot de passe"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Aucun utilisateur trouvé."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["8 caractères minimum."])},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_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["faible"])},AVERAGE:e=>{const{normalize:t}=e;return t(["moyenne"])},GOOD:e=>{const{normalize:t}=e;return t(["bonne"])},STRONG:e=>{const{normalize:t}=e;return t(["forte"])},LABEL:e=>{const{normalize:t}=e;return t(["robustesse du mot de passe "])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Évitez les substitutions de lettres prévisibles comme ","@"," pour a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Évitez les orthographes inversées des mots courants"])},allUppercase:e=>{const{normalize:t}=e;return t(["Mettez quelques lettres en majuscules, mais pas toutes."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalisez mais pas seulement la première lettre."])},dates:e=>{const{normalize:t}=e;return t(["Évitez les dates et les années qui vous sont associées. (ex: date ou année de naissance)"])},recentYears:e=>{const{normalize:t}=e;return t(["Évitez les dernières années."])},associatedYears:e=>{const{normalize:t}=e;return t(["Évitez les années qui vous sont associées. (ex: date de naissance)"])},sequences:e=>{const{normalize:t}=e;return t(["Évitez les séquences de caractères courantes."])},repeated:e=>{const{normalize:t}=e;return t(["Évitez les mots et les caractères répétés."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois."])},anotherWord:e=>{const{normalize:t}=e;return t(["Ajoutez des mots moins courants."])},useWords:e=>{const{normalize:t}=e;return t(["Utilisez plusieurs mots, mais évitez les phrases courantes."])},noNeed:e=>{const{normalize:t}=e;return t(["Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules."])}}},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:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du compte"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Veuillez vous ",n(r(0))," pour changer de nouveau votre adresse email ou contacter l'administrateur"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["compte"])},PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances "])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès. Veuillez vérifier votre boite email pour valider votre nouvelle adresse email."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Un lien pour activer votre compte a été envoyé à l'adresse email fournie."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès."])},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."])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Envoyer à nouveau l'email de confirmation de compte"])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["afficher le mot de passe"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Le compte de cet utilisateur est inactif."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère "_" sont autorisés.'])}},S={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Départ et arrivée"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSO"])},SW:e=>{const{normalize:t}=e;return t(["SO"])},WSW:e=>{const{normalize:t}=e;return t(["OSO"])},W:e=>{const{normalize:t}=e;return t(["O"])},WNW:e=>{const{normalize:t}=e;return t(["ONO"])},NW:e=>{const{normalize:t}=e;return t(["NO"])},NNW:e=>{const{normalize:t}=e;return t(["NNO"])}},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"])}},_={about:r,admin:a,api:s,buttons:o,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},811:function(e,t,n){"use strict";var r=n(3328),a=n(8278),s=n(9963),o=n(2343),i=n(5205);(0,i.z)("/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}});var l=n(6252),c=n(2262),u=n(3577);const d=e=>((0,l.dD)("data-v-2c73279e"),e=e(),(0,l.Cn)(),e),m={id:"footer"},S={class:"footer-items"},_={class:"footer-item"},E=d((()=>(0,l._)("strong",null,"FitTrackee",-1))),p=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),T={class:"footer-item"},A={key:0,class:"footer-item bullet"},U={key:1,class:"footer-item"},O=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),I={class:"footer-item"},g={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"};var w=(0,l.aZ)({props:{version:null,adminContact:null},setup(e){const t=e,{adminContact:n,version:r}=(0,c.BK)(t);return(e,t)=>{const a=(0,l.up)("router-link");return(0,l.wg)(),(0,l.iD)("div",m,[(0,l._)("div",S,[(0,l._)("div",_,[E,(0,l.Uk)(" v"+(0,u.zw)((0,c.SU)(r)),1)]),p,(0,l._)("div",T,[(0,l.Wm)(a,{to:"/about"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("common.ABOUT")),1)])),_:1})]),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",A,"•")):(0,l.kq)("",!0),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",U,[(0,l._)("a",{href:`mailto:${(0,c.SU)(n)}`},(0,u.zw)(e.$t("common.CONTACT")),9,O)])):(0,l.kq)("",!0),R,(0,l._)("div",I,[(0,l._)("a",g,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),v=n(3744);const f=(0,v.Z)(w,[["__scopeId","data-v-2c73279e"]]);var N=f,h=n(3324),C=n(6595),D=n(8602),k=n(9917),z=n(6287);const P=e=>((0,l.dD)("data-v-0d4f0b8f"),e=e(),(0,l.Cn)(),e),M={id:"nav"},y={class:"nav-container"},b={class:"nav-app-name"},L={class:"nav-items-close"},G=P((()=>(0,l._)("div",{class:"app-name"},"FitTrackee",-1))),F={key:0,class:"nav-items-group"},W=P((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),Y={class:"nav-items-user-menu"},x={key:0,class:"nav-items-group"},$={class:"nav-item nav-profile-img"},Z={key:1,class:"nav-items-group"},K=P((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var B=(0,l.aZ)({emits:["menuInteraction"],setup(e,{emit:t}){const{locale:n}=(0,h.QT)(),r=(0,k.o)(),a=(0,l.Fl)((()=>r.getters[D.YN.GETTERS.AUTH_USER_PROFILE])),s=(0,l.Fl)((()=>r.getters[D.YN.GETTERS.IS_AUTHENTICATED])),o=(0,l.Fl)((()=>r.getters[D.SY.GETTERS.LANGUAGE]));let i=(0,c.iH)(!1);function d(){i.value=!0,t("menuInteraction",!0)}function m(){i.value=!1,t("menuInteraction",!1)}function S(e){n.value=e.value.toString(),r.commit(D.SY.MUTATIONS.UPDATE_LANG,e.value)}function _(){r.dispatch(D.YN.ACTIONS.LOGOUT)}return(e,t)=>{const n=(0,l.up)("router-link"),r=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",M,[(0,l._)("div",y,[(0,l._)("div",b,[(0,l._)("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=t=>e.$router.push("/"))}," FitTrackee ")]),(0,l._)("div",{class:(0,u.C_)(["nav-icon-open",{"menu-open":(0,c.SU)(i)}])},[(0,l._)("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=e=>d())})],2),(0,l._)("div",{class:(0,u.C_)(["nav-items",{"menu-open":(0,c.SU)(i)}])},[(0,l._)("div",L,[G,(0,l._)("i",{class:(0,u.C_)(["fa fa-close close-icon nav-item",{"menu-closed":!(0,c.SU)(i)}]),onClick:t[2]||(t[2]=e=>m())},null,2)]),(0,l._)("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=e=>m())},[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",F,[(0,l.Wm)(n,{class:"nav-item",to:"/"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("dashboard.DASHBOARD")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,u.kC)(e.$t("workouts.WORKOUT",2))),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/statistics"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("statistics.STATISTICS")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts/add"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("workouts.ADD_WORKOUT")),1)])),_:1}),(0,c.SU)(s)&&(0,c.SU)(a).admin?((0,l.wg)(),(0,l.j4)(n,{key:0,class:"nav-item",to:"/admin"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("admin.ADMIN")),1)])),_:1})):(0,l.kq)("",!0),W])):(0,l.kq)("",!0)]),(0,l._)("div",Y,[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",x,[(0,l._)("div",$,[(0,l.Wm)(C.Z,{user:(0,c.SU)(a)},null,8,["user"])]),(0,l.Wm)(n,{class:"nav-item",to:"/profile",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a).username),1)])),_:1}),(0,l._)("div",{class:"nav-item nav-link",onClick:_},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",Z,[(0,l.Wm)(n,{class:"nav-item",to:"/login",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.LOGIN")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/register",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.REGISTER")),1)])),_:1})])),(0,c.SU)(z.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(r,{key:2,class:"nav-item",options:(0,c.SU)(z.mT),selected:(0,c.SU)(o),onSelected:S},{default:(0,l.w5)((()=>[K])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const H=(0,v.Z)(B,[["__scopeId","data-v-0d4f0b8f"]]);var q=H,j=n(7167);const V={id:"no-config"},X={class:"error-page"},J={class:"error-img"},Q=["innerHTML"];var ee=(0,l.aZ)({setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("div",V,[(0,l._)("div",X,[(0,l._)("div",J,[(0,l.Wm)(j.Z)]),(0,l._)("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,Q)])]))}});const te=(0,v.Z)(ee,[["__scopeId","data-v-47759238"]]);var ne=te;const re=(0,l._)("div",{id:"top"},null,-1),ae={key:0,class:"app-container"},se={class:"app-loading"},oe={class:"container scroll"},ie=(0,l._)("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),le=[ie];var ce=(0,l.aZ)({setup(e){const t=(0,k.o)(),n=(0,l.Fl)((()=>t.getters[D.SY.GETTERS.APP_CONFIG])),r=(0,l.Fl)((()=>t.getters[D.SY.GETTERS.APP_LOADING])),a=(0,c.iH)(!1),s=(0,c.iH)(!1);function o(e){a.value=e}function i(e){return e.getBoundingClientRect().top=0}function d(){window.onscroll=()=>{let e=document.querySelector("#bottom");s.value=null!==e&&i(e)}}function m(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((()=>{s.value=!1}),300)}return(0,l.wF)((()=>t.dispatch(D.SY.ACTIONS.GET_APPLICATION_CONFIG))),(0,l.bv)((()=>d())),(e,t)=>{const i=(0,l.up)("Loader"),d=(0,l.up)("router-view");return(0,l.wg)(),(0,l.iD)(l.HY,null,[re,(0,l.Wm)(q,{onMenuInteraction:o}),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("div",ae,[(0,l._)("div",se,[(0,l.Wm)(i)])])):((0,l.wg)(),(0,l.iD)("div",{key:1,class:(0,u.C_)(["app-container",{"hide-scroll":a.value}])},[(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(d,{key:0})):((0,l.wg)(),(0,l.j4)(ne,{key:1}))],2)),(0,l._)("div",oe,[(0,l._)("div",{class:(0,u.C_)(["scroll-button",{"display-button":s.value}]),onClick:m},le,2)]),(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(N,{key:2,version:(0,c.SU)(n)?(0,c.SU)(n).version:"",adminContact:(0,c.SU)(n).admin_contact},null,8,["version","adminContact"])):(0,l.kq)("",!0)],64)}}});const ue=ce;var de=ue,me=n(2540),Se=n(6448),_e=n(12);const Ee={class:"alert-message"},pe=["innerHTML"];var Te=(0,l.aZ)({props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Ee,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,pe)]))}});const Ae=(0,v.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ue=Ae,Oe=n(2531);const Re={class:"custom-textarea"},Ie=["id","name","maxLenght","disabled"],ge={class:"remaining-chars"};var we=(0,l.aZ)({props:{name:null,charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e;let r=(0,c.iH)("");function a(e){t("updateValue",e.target.value)}return(0,l.YP)((()=>n.input),(e=>{r.value=e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Re,[(0,l.wy)((0,l._)("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=e=>(0,c.dq)(r)?r.value=e:r=e),onInput:a},null,40,Ie),[[s.nr,(0,c.SU)(r)]]),(0,l._)("div",ge,(0,u.zw)(t.$t("workouts.REMAINING_CHARS"))+": "+(0,u.zw)((0,c.SU)(r).length)+"/"+(0,u.zw)(e.charLimit),1)]))}});const ve=(0,v.Z)(we,[["__scopeId","data-v-3ec2aca2"]]);var fe=ve,Ne=n(3649);const he=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var Ce=(0,l.aZ)({props:{distance:null,unitFrom:null,useImperialUnits:{type:Boolean},digits:{default:2},displayUnit:{type:Boolean,default:!0},speed:{type:Boolean,default:!1},strong:{type:Boolean,default:!1}},setup(e){const t=e,{digits:n,displayUnit:r,distance:a,speed:s,strong:o,unitFrom:i,useImperialUnits:d}=(0,c.BK)(t),m=(0,l.Fl)((()=>d.value?Ne.Dl[i.value].defaultTarget:i.value)),S=(0,l.Fl)((()=>d.value?(0,Ne.sC)(a.value,i.value,m.value,n.value):parseFloat(a.value.toFixed(n.value))));return(e,t)=>((0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l._)("span",{class:(0,u.C_)(["distance",{strong:(0,c.SU)(o)}])},(0,u.zw)((0,c.SU)(S)),3),he,(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("span",{key:0,class:(0,u.C_)(["unit",{strong:(0,c.SU)(o)}])},(0,u.zw)((0,c.SU)(m))+(0,u.zw)((0,c.SU)(s)?"/h":""),3)):(0,l.kq)("",!0)],64))}});const De=(0,v.Z)(Ce,[["__scopeId","data-v-f46ff1d6"]]);var ke=De,ze=n(2119);const Pe={class:"dropdown-wrapper"},Me={key:0,class:"dropdown-list"},ye=["onClick"];var be=(0,l.aZ)({props:{options:null,selected:null},emits:{selected:e=>e},setup(e,{emit:t}){const n=e,r=(0,ze.yj)();let a=(0,c.iH)(!1),s=n.options.map((e=>e));function o(){a.value=!a.value}function i(e){t("selected",e),a.value=!1}return(0,l.YP)((()=>r.path),(()=>a.value=!1)),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Pe,[(0,l._)("div",{class:"dropdown-selected",onClick:o},[(0,l.WI)(t.$slots,"default")]),(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("ul",Me,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(s),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{class:(0,u.C_)(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:e=>i(t)},(0,u.zw)(t.label),11,ye)))),128))])):(0,l.kq)("",!0)]))}});const Le=(0,v.Z)(be,[["__scopeId","data-v-ca61364c"]]);var Ge=Le;const Fe={class:"error-message"},We={key:0},Ye={key:1};var xe=(0,l.aZ)({props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Fe,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",We,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(n),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{key:n},(0,u.zw)(e.$t(t)),1)))),128))])):((0,l.wg)(),(0,l.iD)("div",Ye,(0,u.zw)(e.$t((0,c.SU)(n))),1))]))}});const $e=(0,v.Z)(xe,[["__scopeId","data-v-2659a79a"]]);var Ze=$e;const Ke={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"},Be=(0,l._)("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),He=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),qe=[Be,He];function je(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Ke,qe)}var Ve={name:"CyclingSport"};const Xe=(0,v.Z)(Ve,[["render",je]]);var Je=Xe;const Qe={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"},et=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),tt=(0,l._)("g",{id:"g147"},[(0,l._)("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"}),(0,l._)("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),nt=[et,tt];function rt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Qe,nt)}var at={name:"CyclingTransport"};const st=(0,v.Z)(at,[["render",rt]]);var ot=st;const it={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"},lt=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),ct=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),ut=[lt,ct];function dt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",it,ut)}var mt={name:"Hiking"};const St=(0,v.Z)(mt,[["render",dt]]);var _t=St;const Et={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"},pt=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Tt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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"}),(0,l._)("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),At=[pt,Tt];function Ut(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Et,At)}var Ot={name:"MountainBiking"};const Rt=(0,v.Z)(Ot,[["render",Ut]]);var It=Rt;const gt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},wt=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),vt=[wt];function ft(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",gt,vt)}var Nt={name:"MountainBikingElectric"};const ht=(0,v.Z)(Nt,[["render",ft]]);var Ct=ht;const Dt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},kt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),zt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),(0,l._)("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),Pt=[kt,zt];function Mt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Dt,Pt)}var yt={name:"Rowing"};const bt=(0,v.Z)(yt,[["render",Mt]]);var Lt=bt;const Gt={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"},Ft=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Wt=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),Yt=[Ft,Wt];function xt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Gt,Yt)}var $t={name:"Running"};const Zt=(0,v.Z)($t,[["render",xt]]);var Kt=Zt;const Bt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Ht=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),qt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),(0,l._)("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),jt=[Ht,qt];function Vt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Bt,jt)}var Xt={name:"SkiingAlpine"};const Jt=(0,v.Z)(Xt,[["render",Vt]]);var Qt=Jt;const en={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},tn=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),nn=(0,l._)("g",null,[(0,l._)("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),rn=[tn,nn];function an(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",en,rn)}var sn={name:"SkiingCrossCountry"};const on=(0,v.Z)(sn,[["render",an]]);var ln=on;const cn={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"},un=(0,l.uE)('silhouette of a person with snowshoes',6),dn=[un];function mn(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",cn,dn)}var Sn={name:"Snowshoes"};const _n=(0,v.Z)(Sn,[["render",mn]]);var En=_n;const pn={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},Tn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),An=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),(0,l._)("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),Un=[Tn,An];function On(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",pn,Un)}var Rn={name:"Trail"};const In=(0,v.Z)(Rn,[["render",On]]);var gn=In;const wn={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"},vn=(0,l.uE)('silhouette of a walking person',3),fn=[vn];function Nn(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",wn,fn)}var hn={name:"Walking"};const Cn=(0,v.Z)(hn,[["render",Nn]]);var Dn=Cn;const kn=["title"];var zn=(0,l.aZ)({props:{sportLabel:null,color:null,title:{default:""}},setup(e){const t=e,{color:n,sportLabel:r,title:a}=(0,c.BK)(t),s=(0,l.f3)("sportColors");return(e,t)=>((0,l.wg)(),(0,l.iD)("div",{class:"sport-img",style:(0,u.j5)({fill:(0,c.SU)(n)?(0,c.SU)(n):(0,c.SU)(s)[(0,c.SU)(r)]}),title:(0,c.SU)(a)?(0,c.SU)(a):e.$t(`sports.${(0,c.SU)(r)}.LABEL`)},["Cycling (Sport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Je,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ot,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(_t,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(It,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Ct,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Lt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Kt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Qt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ln,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(gn,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Dn,{key:11})):(0,l.kq)("",!0)],12,kn))}});const Pn=zn;var Mn=Pn;const yn={class:"loader"};function bn(e,t){return(0,l.wg)(),(0,l.iD)("div",yn)}const Ln={},Gn=(0,v.Z)(Ln,[["render",bn],["__scopeId","data-v-4c9921ee"]]);var Fn=Gn;const Wn={id:"modal"},Yn={class:"custom-modal"},xn={key:0,class:"modal-message"},$n={key:1,class:"modal-message"},Zn={class:"modal-buttons"};var Kn=(0,l.aZ)({props:{title:null,message:null,strongMessage:{default:()=>null}},emits:["cancelAction","confirmAction"],setup(e,{emit:t}){const n=e,r=(0,k.o)(),{title:a,message:s,strongMessage:o}=(0,c.BK)(n),i=(0,l.Fl)((()=>r.getters[D.SY.GETTERS.ERROR_MESSAGES]));return(0,l.Ah)((()=>r.commit(D.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,n)=>{const r=(0,l.up)("i18n-t"),d=(0,l.up)("ErrorMessage"),m=(0,l.up)("Card");return(0,l.wg)(),(0,l.iD)("div",Wn,[(0,l._)("div",Yn,[(0,l.Wm)(m,null,{title:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a)),1)])),content:(0,l.w5)((()=>[(0,c.SU)(o)?((0,l.wg)(),(0,l.iD)("div",xn,[(0,l.Wm)(r,{keypath:(0,c.SU)(s)},{default:(0,l.w5)((()=>[(0,l._)("span",null,(0,u.zw)((0,c.SU)(o)),1)])),_:1},8,["keypath"])])):((0,l.wg)(),(0,l.iD)("div",$n,(0,u.zw)((0,c.SU)(s)),1)),(0,c.SU)(i)?((0,l.wg)(),(0,l.j4)(d,{key:2,message:(0,c.SU)(i)},null,8,["message"])):(0,l.kq)("",!0),(0,l._)("div",Zn,[(0,c.SU)(i)?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("button",{key:0,class:"confirm",onClick:n[0]||(n[0]=e=>t("confirmAction"))},(0,u.zw)(e.$t("buttons.YES")),1)),(0,l._)("button",{class:"cancel",onClick:n[1]||(n[1]=e=>t("cancelAction"))},(0,u.zw)(e.$t("buttons."+((0,c.SU)(i)?"CANCEL":"NO"))),1)])])),_:1})])])}}});const Bn=(0,v.Z)(Kn,[["__scopeId","data-v-e8fcfaba"]]);var Hn=Bn;const qn=[{target:Ue,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:fe,name:"CustomTextArea"},{target:ke,name:"Distance"},{target:Ge,name:"Dropdown"},{target:Ze,name:"ErrorMessage"},{target:Fn,name:"Loader"},{target:Hn,name:"Modal"},{target:Mn,name:"SportImage"}],jn={mounted:(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)}};var Vn=n(631);r.kL.register(r.ZL,r.jn,r.od,r.De,r.Dx,r.u,r.Gu,r.vn,r.uw,r.ST,r.f$,a.Z);const Xn=(0,s.ri)(de).provide("sportColors",Vn.Zo).use(me.Z).use(_e.Z).use(Se.Z).use(o.ZP,{name:"VFullscreen"}).directive("click-outside",jn);qn.forEach((e=>{Xn.component(e.name,e.target)})),Xn.mount("#app")},6448:function(e,t,n){"use strict";n.d(t,{Z:function(){return ni}});var r=n(2119),a=n(6252),s=n(3577),o=n(9963),i=n(2262),l=n(8602),c=n(9917),u=n(8966);const d=e=>((0,a.dD)("data-v-24ec93e2"),e=e(),(0,a.Cn)(),e),m={id:"admin-app",class:"admin-card"},S=["onSubmit"],_={for:"admin_contact"},E=["value"],p=["disabled"],T={for:"max_users"},A=["disabled"],U={class:"user-limit-help"},O={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),I={for:"max_single_file_size"},g=["disabled"],w={for:"max_zip_file_size"},v=["disabled"],f={for:"gpx_limit_import"},N=["disabled"],h={key:1,class:"form-buttons"},C={class:"confirm",type:"submit"},D=["onClick"],k={key:2,class:"form-buttons"};var z=(0,a.aZ)({props:{appConfig:null,edition:{type:Boolean,default:!1}},setup(e){const t=e,{edition:n}=(0,i.BK)(t),d=(0,c.o)(),z=(0,r.tv)(),P=(0,i.qj)({admin_contact:"",max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),M=(0,a.Fl)((()=>d.getters[l.SY.GETTERS.ERROR_MESSAGES]));function y(e){Object.keys(P).map((t=>{["max_single_file_size","max_zip_file_size"].includes(t)?P[t]=(0,u.j)(e[t]):P[t]=e[t]}))}function b(){y(t.appConfig),d.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),z.push("/admin/application")}function L(){const e=Object.assign({},P);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,d.dispatch(l.SY.ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return(0,a.wF)((()=>{t.appConfig&&y(t.appConfig)})),(e,t)=>{const r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",m,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("form",{class:"admin-form",onSubmit:(0,o.iM)(L,["prevent"])},[(0,a._)("label",_,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.ADMIN_CONTACT"))+": ",1),(0,i.SU)(n)||(0,i.SU)(P).admin_contact?(0,a.wy)(((0,a.wg)(),(0,a.iD)("input",{key:1,id:"admin_contact",name:"admin_contact",type:"email","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(P).admin_contact=e),disabled:!(0,i.SU)(n)},null,8,p)),[[o.nr,(0,i.SU)(P).admin_contact]]):((0,a.wg)(),(0,a.iD)("input",{key:0,class:"no-contact",value:e.$t("admin.APP_CONFIG.NO_CONTACT_EMAIL"),disabled:""},null,8,E))]),(0,a._)("label",T,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(P).max_users=e),disabled:!(0,i.SU)(n)},null,8,A),[[o.nr,(0,i.SU)(P).max_users]])]),(0,a._)("div",U,[(0,a._)("span",O,[R,(0,a.Uk)(" "+(0,s.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",I,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(P).max_single_file_size=e),disabled:!(0,i.SU)(n)},null,8,g),[[o.nr,(0,i.SU)(P).max_single_file_size]])]),(0,a._)("label",w,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=e=>(0,i.SU)(P).max_zip_file_size=e),disabled:!(0,i.SU)(n)},null,8,v),[[o.nr,(0,i.SU)(P).max_zip_file_size]])]),(0,a._)("label",f,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=e=>(0,i.SU)(P).gpx_limit_import=e),disabled:!(0,i.SU)(n)},null,8,N),[[o.nr,(0,i.SU)(P).gpx_limit_import]])]),(0,i.SU)(M)?((0,a.wg)(),(0,a.j4)(r,{key:0,message:(0,i.SU)(M)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(n)?((0,a.wg)(),(0,a.iD)("div",h,[(0,a._)("button",C,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:(0,o.iM)(b,["prevent"])},(0,s.zw)(e.$t("buttons.CANCEL")),9,D)])):((0,a.wg)(),(0,a.iD)("div",k,[(0,a._)("button",{class:"confirm",onClick:t[5]||(t[5]=(0,o.iM)((t=>e.$router.push("/admin/application/edit")),["prevent"]))},(0,s.zw)(e.$t("buttons.EDIT")),1),(0,a._)("button",{class:"cancel",onClick:t[6]||(t[6]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))],40,S)])),_:1})])}}}),P=n(3744);const M=(0,P.Z)(z,[["__scopeId","data-v-24ec93e2"]]);var y=M;const b={class:"stat-card"},L={class:"stat-content box"},G={class:"stat-icon"},F={class:"stat-details"},W={class:"stat-huge"},Y={class:"stat"};var x=(0,a.aZ)({props:{icon:null,text:null,value:null},setup(e){const t=e,{icon:n,text:r,value:o}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",b,[(0,a._)("div",L,[(0,a._)("div",G,[(0,a._)("i",{class:(0,s.C_)(["fa",`fa-${(0,i.SU)(n)}`])},null,2)]),(0,a._)("div",F,[(0,a._)("div",W,(0,s.zw)((0,i.SU)(o)),1),(0,a._)("div",Y,(0,s.zw)((0,i.SU)(r)),1)])])]))}});const $=x;var Z=$;const K={id:"user-stats"};var B=(0,a.aZ)({props:{appStatistics:null},setup(e){const t=e,{appStatistics:n}=(0,i.BK)(t),r=(0,a.Fl)((()=>(0,u.Z)(n.value.uploads_dir_size,!1)));return(e,t)=>((0,a.wg)(),(0,a.iD)("div",K,[(0,a.Wm)(Z,{icon:"users",value:(0,i.SU)(n).users,text:e.$t("admin.USER",(0,i.SU)(n).users)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"tags",value:(0,i.SU)(n).sports,text:e.$t("workouts.SPORT",(0,i.SU)(n).sports)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"calendar",value:(0,i.SU)(n).workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(n).workouts)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=B;var q=H,j=n(2531);const V=e=>((0,a.dD)("data-v-1bcb269a"),e=e(),(0,a.Cn)(),e),X={id:"admin-menu",class:"center-card"},J={class:"admin-menu description-list"},Q=V((()=>(0,a._)("br",null,null,-1))),ee={class:"registration-status"};var te=(0,a.aZ)({props:{appConfig:null,appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",X,[(0,a.Wm)(j.Z,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.ADMINISTRATION")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(q,{appStatistics:(0,i.SU)(r)},null,8,["appStatistics"]),(0,a._)("div",J,[(0,a._)("dl",null,[(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/application"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.APPLICATION")),1)])),_:1})]),(0,a._)("dd",null,[(0,a.Uk)((0,s.zw)(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Q,(0,a._)("span",ee,(0,s.zw)(e.$t("admin.REGISTRATION_"+((0,i.SU)(n).is_registration_enabled?"ENABLED":"DISABLED"))),1)]),(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/sports"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("workouts.SPORT",0))),1)])),_:1})]),(0,a._)("dd",null,(0,s.zw)(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/users"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("admin.USER",0))),1)])),_:1})]),(0,a._)("dd",null,(0,s.zw)(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])])),_:1})])}}});const ne=(0,P.Z)(te,[["__scopeId","data-v-1bcb269a"]]);var re=ne,ae=n(3324),se=n(631);const oe=e=>((0,a.dD)("data-v-6d62af67"),e=e(),(0,a.Cn)(),e),ie={id:"admin-sports",class:"admin-card"},le={class:"responsive-table"},ce=oe((()=>(0,a._)("th",null,"#",-1))),ue={class:"text-left"},de={class:"text-left sport-action"},me=oe((()=>(0,a._)("th",null,null,-1))),Se={class:"text-center"},_e=oe((()=>(0,a._)("span",{class:"cell-heading"},"id",-1))),Ee={class:"cell-heading"},pe={class:"sport-label"},Te={class:"cell-heading"},Ae={class:"text-center"},Ue={class:"cell-heading"},Oe={class:"sport-action"},Re={class:"cell-heading"},Ie={class:"action-button"},ge=["onClick"],we={key:0,class:"has-workouts"},ve=oe((()=>(0,a._)("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)));var fe=(0,a.aZ)({setup(e){const{t:t}=(0,ae.QT)(),n=(0,c.o)(),r=(0,a.Fl)((()=>(0,se.xH)(n.getters[l.O8.GETTERS.SPORTS],t))),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(e,t){n.dispatch(l.O8.ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return(e,t)=>{const n=(0,a.up)("SportImage"),l=(0,a.up)("ErrorMessage"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",ie,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.SPORTS.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a._)("div",le,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[ce,(0,a._)("th",null,(0,s.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a._)("th",ue,(0,s.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("th",de,(0,s.zw)(e.$t("admin.ACTION")),1),me])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",Se,[_e,(0,a.Uk)(" "+(0,s.zw)(t.id),1)]),(0,a._)("td",null,[(0,a._)("span",Ee,(0,s.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a.Wm)(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),(0,a._)("td",pe,[(0,a._)("span",Te,(0,s.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a.Uk)(" "+(0,s.zw)(t.translatedLabel),1)]),(0,a._)("td",Ae,[(0,a._)("span",Ue,(0,s.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("i",{class:(0,s.C_)("fa fa"+(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),(0,a._)("td",Oe,[(0,a._)("span",Re,(0,s.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",Ie,[(0,a._)("button",{class:(0,s.C_)({danger:t.is_active}),onClick:e=>d(t.id,!t.is_active)},(0,s.zw)(e.$t(`buttons.${t.is_active?"DIS":"EN"}ABLE`)),11,ge),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",we,[ve,(0,a.Uk)(" "+(0,s.zw)(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):(0,a.kq)("",!0)])])])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)])])),_:1})])}}});const Ne=(0,P.Z)(fe,[["__scopeId","data-v-6d62af67"]]);var he=Ne,Ce=n(4850),De=n(8626),ke=n(6514),ze=n(6595);const Pe={class:"users-filters"},Me={class:"search-username"},ye=["onKeyup","placeholder"];var be=(0,a.aZ)({emits:["filterOnUsername"],setup(e,{emit:t}){const n=(0,r.yj)(),l=(0,i.iH)(n.query.q?n.query.q:"");function c(){""!==l.value&&t("filterOnUsername",l)}function u(){l.value="",t("filterOnUsername",l.value)}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Pe,[(0,a._)("div",Me,[(0,a.wy)((0,a._)("input",{id:"username",name:"username","onUpdate:modelValue":t[0]||(t[0]=e=>l.value=e),onKeyup:(0,o.D2)(c,["enter"]),placeholder:e.$t("user.FILTER_ON_USERNAME")},null,40,ye),[[o.nr,l.value,void 0,{trim:!0}]]),""!==l.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-times","aria-hidden":"true",onClick:u})):(0,a.kq)("",!0)]),(0,a._)("i",{class:(0,s.C_)(["fa fa-search",{"fa-disabled":""===l.value}]),"aria-hidden":"true",onClick:c},null,2)]))}});const Le=(0,P.Z)(be,[["__scopeId","data-v-627a8e91"]]);var Ge=Le,Fe=n(2766),We=n(6558);const Ye=e=>((0,a.dD)("data-v-4735c10f"),e=e(),(0,a.Cn)(),e),xe={id:"admin-users",class:"admin-card"},$e={key:0,class:"no-users"},Ze={key:1,class:"responsive-table"},Ke=Ye((()=>(0,a._)("th",null,"#",-1))),Be={class:"left-text"},He={class:"left-text"},qe={class:"left-text"},je={class:"cell-heading"},Ve={class:"cell-heading"},Xe={class:"cell-heading"},Je={class:"cell-heading"},Qe={class:"text-center"},et={class:"cell-heading"},tt={class:"text-center"},nt={class:"cell-heading"},rt={class:"text-center"},at={class:"cell-heading"},st={class:"text-center"},ot={class:"cell-heading"},it=["disabled","onClick"];var lt=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,r.yj)(),u=(0,r.tv)(),d=["is_active","admin","created_at","username","workouts_count"],m="created_at";let S=(0,i.qj)((0,Fe.pm)(n.query,d,m));const _=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),E=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS])),p=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS_PAGINATION])),T=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.ERROR_MESSAGES]));function A(e){t.dispatch(l.RT.ACTIONS.GET_USERS,e)}function U(e){R("q",e.value)}function O(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){S[e]=t,"per_page"===e&&(S.page=1),u.push({path:"/admin/users",query:S})}return(0,a.wF)((()=>A(S))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{S=(0,Fe.pm)(e,d,m,{query:S}),A(S)})),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",xe,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("admin.USER",0))),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a.Wm)(Ge,{onFilterOnUsername:U}),(0,a.Wm)(De.Z,{sort:(0,i.SU)(Fe.fS),order_by:d,query:(0,i.SU)(S),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(E).length?((0,a.wg)(),(0,a.iD)("div",$e,(0,s.zw)(e.$t("user.NO_USERS_FOUND")),1)):((0,a.wg)(),(0,a.iD)("div",Ze,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[Ke,(0,a._)("th",Be,(0,s.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",He,(0,s.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",qe,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a._)("th",null,(0,s.zw)((0,s.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.ADMIN")),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.ACTION")),1)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(E),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",je,(0,s.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(ze.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Ve,(0,s.zw)(e.$t("user.USERNAME")),1),(0,a.Wm)(n,{to:`/admin/users/${t.username}`},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.username),1)])),_:2},1032,["to"])]),(0,a._)("td",null,[(0,a._)("span",Xe,(0,s.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,s.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",Je,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,s.zw)((0,i.SU)(Ce.Z)((0,i.SU)(We.eB)(t.created_at,(0,i.SU)(_).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",Qe,[(0,a._)("span",et,(0,s.zw)((0,s.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a.Uk)(" "+(0,s.zw)(t.nb_workouts),1)]),(0,a._)("td",tt,[(0,a._)("span",nt,(0,s.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("i",{class:(0,s.C_)(`fa fa${t.is_active?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",rt,[(0,a._)("span",at,(0,s.zw)(e.$t("user.ADMIN")),1),(0,a._)("i",{class:(0,s.C_)(`fa fa${t.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",st,[(0,a._)("span",ot,(0,s.zw)(e.$t("admin.ACTION")),1),(0,a._)("button",{class:(0,s.C_)({danger:t.admin}),disabled:t.username===(0,i.SU)(_).username,onClick:e=>O(t.username,!t.admin)},(0,s.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,it)])])))),128))])]),(0,i.SU)(p).page?((0,a.wg)(),(0,a.j4)(ke.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(p),query:(0,i.SU)(S)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,i.SU)(T)?((0,a.wg)(),(0,a.j4)(r,{key:1,message:(0,i.SU)(T)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))])),_:1})])}}});const ct=(0,P.Z)(lt,[["__scopeId","data-v-4735c10f"]]);var ut=ct,dt=n(2179);const mt={class:"profile-tabs custom-checkboxes-group"},St={class:"profile-tabs-checkboxes custom-checkboxes"},_t=["id","name","checked","disabled","onInput"];var Et=(0,a.aZ)({props:{tabs:null,selectedTab:null,edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:o}=(0,i.BK)(t);function l(e){switch(e){case"ACCOUNT":case"PICTURE":return`/profile/edit/${e.toLocaleLowerCase()}`;case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${e.toLocaleLowerCase()}`;default:case"PROFILE":return"/profile"+(t.edition?"/edit":"")}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",mt,[(0,a._)("div",St,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"profile-tab custom-checkbox",key:t},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:t,name:t,checked:(0,i.SU)(r)===t,disabled:(0,i.SU)(o),onInput:n=>e.$router.push(l(t))},null,40,_t),(0,a._)("span",null,(0,s.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const pt=Et;var Tt=pt;const At={id:"user-profile"},Ut={class:"box"};var Ot=(0,a.aZ)({props:{user:null,tab:null},setup(e){const t=e,{user:n,tab:r}=(0,i.BK)(t),s=["PROFILE","PREFERENCES","SPORTS"];return(e,t)=>{const o=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",At,[(0,a.Wm)(dt.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",Ut,[(0,a.Wm)(Tt,{tabs:s,selectedTab:(0,i.SU)(r),edition:!1},null,8,["selectedTab"]),(0,a.Wm)(o,{user:(0,i.SU)(n)},null,8,["user"])])])}}});const Rt=(0,P.Z)(Ot,[["__scopeId","data-v-e26535e0"]]);var It=Rt,gt=n(4317),wt=n(6287);const vt={id:"user-preferences",class:"description-list"},ft={class:"profile-buttons"};var Nt=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?wt.zK[t.user.language]:wt.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),o=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris"));return(t,l)=>((0,a.wg)(),(0,a.iD)("div",vt,[(0,a._)("dl",null,[(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.LANGUAGE"))+":",1),(0,a._)("dd",null,(0,s.zw)((0,i.SU)(n)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,s.zw)((0,i.SU)(o)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),(0,a._)("dd",null,(0,s.zw)(t.$t(`user.PROFILE.${(0,i.SU)(r)}`)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),(0,a._)("dd",null,(0,s.zw)(t.$t("user.PROFILE.UNITS."+(e.user.imperial_units?"IMPERIAL":"METRIC"))),1)]),(0,a._)("div",ft,[(0,a._)("button",{onClick:l[0]||(l[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,s.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:l[1]||(l[1]=e=>t.$router.push("/"))},(0,s.zw)(t.$t("common.HOME")),1)])]))}});const ht=Nt;var Ct=ht;const Dt={id:"user-profile-edition",class:"center-card"};var kt=(0,a.aZ)({props:{user:null,tab:null},setup(e){const t=e,n=(0,c.o)(),{user:r,tab:o}=(0,i.BK)(t),u=["PROFILE","ACCOUNT","PICTURE","PREFERENCES","SPORTS"],d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING]));return(e,t)=>{const n=(0,a.up)("router-view"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Dt,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t(`user.PROFILE.${(0,i.SU)(o)}_EDITION`)),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Tt,{tabs:u,selectedTab:(0,i.SU)(o),edition:!0,disabled:(0,i.SU)(d)},null,8,["selectedTab","disabled"]),(0,a.Wm)(n,{user:(0,i.SU)(r)},null,8,["user"])])),_:1})])}}});const zt=kt;var Pt=zt,Mt=n(2047);const yt={id:"user-infos-edition"},bt={class:"profile-form form-box"},Lt={key:1,class:"info-box success-message"},Gt=["onSubmit"],Ft={class:"form-items",for:"email"},Wt=["disabled"],Yt={class:"form-items",for:"password-field"},xt={class:"form-items",for:"new-password-field"},$t={class:"form-buttons"},Zt={class:"confirm",type:"submit"};var Kt=(0,a.aZ)({props:{user:null},setup(e){const t=e,{user:n}=(0,i.BK)(t),r=(0,c.o)(),u=(0,i.qj)({email:"",password:"",new_password:""}),d=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),S=(0,i.iH)(!1),_=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.ERROR_MESSAGES])),E=(0,i.iH)(!1),p=(0,i.iH)(!1);function T(){E.value=!0}function A(e){u.email=e.email}function U(e){u.password=e}function O(e){u.new_password=e}function R(){const e={email:u.email,password:u.password};u.new_password&&(e.new_password=u.new_password),S.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function I(e){p.value=e}function g(e){r.dispatch(l.YN.ACTIONS.DELETE_ACCOUNT,{username:e})}return(0,a.bv)((()=>{t.user&&A(t.user)})),(0,a.Ah)((()=>{r.commit(l.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),r.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(0,a.YP)((()=>m.value),(async e=>{e&&(U(""),O(""),A(n.value),E.value=!1)})),(0,a.YP)((()=>n.value.email),(async()=>{A(n.value)})),(e,t)=>{const r=(0,a.up)("Modal"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",yt,[p.value?((0,a.wg)(),(0,a.j4)(r,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=e=>g((0,i.SU)(n).username)),onCancelAction:t[1]||(t[1]=e=>I(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",bt,[(0,i.SU)(_)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(_)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(m)?((0,a.wg)(),(0,a.iD)("div",Lt,(0,s.zw)(e.$t(`user.PROFILE.SUCCESSFUL_${S.value?"EMAIL_":""}UPDATE`)),1)):(0,a.kq)("",!0),(0,a._)("form",{class:(0,s.C_)({errors:E.value}),onSubmit:(0,o.iM)(R,["prevent"])},[(0,a._)("label",Ft,[(0,a.Uk)((0,s.zw)(e.$t("user.EMAIL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(u).email=e),disabled:(0,i.SU)(d),required:!0,onInvalid:T},null,40,Wt),[[o.nr,(0,i.SU)(u).email]])]),(0,a._)("label",Yt,[(0,a.Uk)((0,s.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(Mt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:(0,i.SU)(u).password,required:!0,onUpdatePassword:U,onPasswordError:T},null,8,["disabled","password"])]),(0,a._)("label",xt,[(0,a.Uk)((0,s.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(Mt.Z,{id:"new-password-field",disabled:(0,i.SU)(d),checkStrength:!0,password:(0,i.SU)(u).new_password,isSuccess:!1,onUpdatePassword:O,onPasswordError:T},null,8,["disabled","password"])]),(0,a._)("div",$t,[(0,a._)("button",Zt,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,o.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1),(0,a._)("button",{class:"danger",onClick:t[4]||(t[4]=(0,o.iM)((e=>I(!0)),["prevent"]))},(0,s.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Gt)])])}}});const Bt=(0,P.Z)(Kt,[["__scopeId","data-v-46fcf129"]]);var Ht=Bt;const qt={id:"user-infos-edition"},jt={class:"profile-form form-box"},Vt=["onSubmit"],Xt={class:"form-items",for:"registrationDate"},Jt=["value"],Qt={class:"form-items",for:"first_name"},en=["disabled"],tn={class:"form-items",for:"last_name"},nn={class:"form-items",for:"birth_date"},rn=["disabled"],an={class:"form-items",for:"location"},sn=["disabled"],on={class:"form-items"},ln={class:"form-buttons"},cn={class:"confirm",type:"submit"};var un=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({first_name:"",last_name:"",birth_date:"",location:"",bio:""}),u=(0,a.Fl)((()=>t.user.created_at?(0,Ce.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function S(e){r.first_name=e.first_name?e.first_name:"",r.last_name=e.last_name?e.last_name:"",r.birth_date=e.birth_date?(0,Ce.Z)(new Date(e.birth_date),"yyyy-MM-dd"):"",r.location=e.location?e.location:"",r.bio=e.bio?e.bio:""}function _(e){r.bio=e}function E(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&S(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage"),l=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",qt,[(0,a._)("div",jt,[(0,i.SU)(m)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(m)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,o.iM)(E,["prevent"])},[(0,a._)("label",Xt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),(0,a._)("input",{id:"registrationDate",value:(0,i.SU)(u),disabled:""},null,8,Jt)]),(0,a._)("label",Qt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"first_name","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(r).first_name=e),disabled:(0,i.SU)(d)},null,8,en),[[o.nr,(0,i.SU)(r).first_name]])]),(0,a._)("label",tn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LAST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"last_name","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(r).last_name=e)},null,512),[[o.nr,(0,i.SU)(r).last_name]])]),(0,a._)("label",nn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),(0,a.wy)((0,a._)("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(r).birth_date=e),disabled:(0,i.SU)(d)},null,8,rn),[[o.nr,(0,i.SU)(r).birth_date]])]),(0,a._)("label",an,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LOCATION"))+" ",1),(0,a.wy)((0,a._)("input",{id:"location","onUpdate:modelValue":t[3]||(t[3]=e=>(0,i.SU)(r).location=e),disabled:(0,i.SU)(d)},null,8,sn),[[o.nr,(0,i.SU)(r).location]])]),(0,a._)("label",on,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.BIO"))+" ",1),(0,a.Wm)(l,{name:"bio",charLimit:200,input:(0,i.SU)(r).bio,disabled:(0,i.SU)(d),onUpdateValue:_},null,8,["input","disabled"])]),(0,a._)("div",ln,[(0,a._)("button",cn,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,o.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1)])],40,Vt)])])}}});const dn=(0,P.Z)(un,[["__scopeId","data-v-b6bacea0"]]);var mn=dn;const Sn=e=>((0,a.dD)("data-v-3a97bb3c"),e=e(),(0,a.Cn)(),e),_n={id:"user-picture-edition"},En={class:"user-picture-form"},pn=["onSubmit"],Tn={class:"picture-help"},An={class:"info-box"},Un=Sn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),On={class:"picture-buttons"},Rn=["disabled"];var In=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),S=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"";let _=(0,i.iH)(null);function E(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function p(e){e.target.files&&(_.value=e.target.files[0])}function T(){_.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:_.value})}return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",_n,[(0,a._)("div",En,[(0,i.SU)(d)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(d)},null,8,["message"])):(0,a.kq)("",!0),(0,a.Wm)(ze.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,a._)("form",{onSubmit:(0,o.iM)(T,["prevent"])},[(0,a._)("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:p},null,32),(0,a._)("div",Tn,[(0,a._)("span",An,[Un,(0,a.Uk)(" "+(0,s.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,s.zw)((0,i.SU)(S)),1)])]),(0,a._)("div",On,[(0,a._)("button",{type:"submit",disabled:!(0,i.SU)(_)},(0,s.zw)(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Rn),(0,i.SU)(r).picture?((0,a.wg)(),(0,a.iD)("button",{key:0,class:"danger",onClick:E},(0,s.zw)(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):(0,a.kq)("",!0),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile"))},(0,s.zw)(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,pn)])])}}});const gn=(0,P.Z)(In,[["__scopeId","data-v-3a97bb3c"]]);var wn=gn;const vn=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],fn={id:"tz-dropdown"},Nn=["value","disabled","onKeydown"],hn=["onClick","onMouseover","autofocus"];var Cn=(0,a.aZ)({props:{input:null,disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,{input:r,disabled:l}=(0,i.BK)(n),c=(0,i.iH)(n.input),u=(0,i.iH)(!1),d=(0,i.iH)(null),m=(0,i.iH)(0);function S(e){return e.toLowerCase().match(c.value.toLowerCase())}function _(e){m.value=e}function E(e){c.value=e,u.value=!1,t("updateTimezone",e)}function p(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&E(d.value?.firstElementChild?.innerHTML)}function T(e){e.preventDefault(),u.value=!0,c.value=e.target.value.trim()}return(0,a.YP)((()=>n.input),(e=>{c.value=e})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",fn,[(0,a._)("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:c.value,disabled:(0,i.SU)(l),required:"",onKeydown:[t[0]||(t[0]=(0,o.D2)((e=>E((0,i.SU)(r))),["esc"])),(0,o.D2)(p,["enter"])],onInput:T},null,40,Nn),u.value?((0,a.wg)(),(0,a.iD)("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:d},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(vn).filter((e=>S(e))),((e,t)=>((0,a.wg)(),(0,a.iD)("li",{key:e,class:(0,s.C_)(["tz-dropdown-item",{focus:t===m.value}]),onClick:t=>E(e),onMouseover:e=>_(t),autofocus:t===m.value},(0,s.zw)(e),43,hn)))),128))],512)):(0,a.kq)("",!0)]))}});const Dn=(0,P.Z)(Cn,[["__scopeId","data-v-47ea2903"]]);var kn=Dn;const zn={id:"user-preferences-edition"},Pn={class:"profile-form form-box"},Mn=["onSubmit"],yn={class:"form-items"},bn=["disabled"],Ln=["value"],Gn={class:"form-items"},Fn={class:"form-items"},Wn=["disabled"],Yn=["value"],xn={class:"form-items"},$n=["disabled"],Zn=["value"],Kn={class:"form-buttons"},Bn={class:"confirm",type:"submit"};var Hn=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],d=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],m=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function _(e){r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function E(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function p(e){r.timezone=e}return(0,a.bv)((()=>{t.user&&_(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",zn,[(0,a._)("div",Pn,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,o.iM)(E,["prevent"])},[(0,a._)("label",yn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LANGUAGE"))+" ",1),(0,a.wy)((0,a._)("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(r).language=e),disabled:(0,i.SU)(m)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(wt.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,s.zw)(e.label),9,Ln)))),128))],8,bn),[[o.bM,(0,i.SU)(r).language]])]),(0,a._)("label",Gn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(kn,{input:(0,i.SU)(r).timezone,disabled:(0,i.SU)(m),onUpdateTimezone:p},null,8,["input","disabled"])]),(0,a._)("label",Fn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),(0,a.wy)((0,a._)("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(r).weekm=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,s.zw)(e.$t(`user.PROFILE.${t.label}`)),9,Yn))),64))],8,Wn),[[o.bM,(0,i.SU)(r).weekm]])]),(0,a._)("label",xn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),(0,a.wy)((0,a._)("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(r).imperial_units=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,s.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),9,Zn))),64))],8,$n),[[o.bM,(0,i.SU)(r).imperial_units]])]),(0,a._)("div",Kn,[(0,a._)("button",Bn,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,o.iM)((t=>e.$router.push("/profile/preferences")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1)])],40,Mn)])])}}});const qn=Hn;var jn=qn;const Vn={id:"user-sport-preferences"},Xn={key:0,class:"responsive-table"},Jn={class:"mobile-display"},Qn={key:0,class:"profile-buttons mobile-display"},er={key:1,class:"profile-buttons"},tr={class:"text-left"},nr={key:0},rr={class:"cell-heading"},ar=["value"],sr={class:"cell-heading"},or={key:0,class:"disabled-message"},ir={key:1,class:"fa fa-refresh fa-spin fa-fw"},lr={class:"cell-heading"},cr={class:"cell-heading"},ur=["checked"],dr={class:"cell-heading"},mr=["value"],Sr={key:1},_r={key:0,class:"action-buttons"},Er={class:"cell-heading"},pr=["onClick"],Tr={key:1,class:"edition-buttons"},Ar=["disabled"],Ur=["disabled","onClick"],Or=["disabled"],Rr={key:0,class:"profile-buttons"},Ir={key:1,class:"profile-buttons"};var gr=(0,a.aZ)({props:{user:null,isEdition:{type:Boolean}},setup(e){const t=e,n=(0,c.o)(),{t:r}=(0,ae.QT)(),{isEdition:u,user:d}=(0,i.BK)(t),m=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),_=(0,a.Fl)((()=>(0,se.xH)(S.value,r,"is_active",d.value.sports_list))),E=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),p=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),T=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function A(e){null!==e?(T.sport_id=e.id,T.color=e.color?e.color:m[e.label],T.is_active=e.is_active_for_user,T.stopped_speed_threshold=e.stopped_speed_threshold):g()}function U(e){return T.sport_id===e}function O(e){T.color=e.target.value}function R(e){T.stopped_speed_threshold=parseFloat(e.target.value)}function I(e){T.is_active=e.target.checked}function g(){T.sport_id=0,T.color=null,T.is_active=!0,T.stopped_speed_threshold=1,n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)}function w(e){e.preventDefault(),n.dispatch(l.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,T)}function v(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>E.value),(e=>{e||p.value||g()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Vn,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",Xn,[(0,a._)("div",Jn,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Qn,[(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",er,[(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/edit/sports"))},(0,s.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[2]||(t[2]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))]),(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),(0,a._)("th",tr,(0,s.zw)(e.$t("workouts.SPORT",0)),1),(0,a._)("th",null,(0,s.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("th",nr,(0,s.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1)):(0,a.kq)("",!0)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(_),(o=>((0,a.wg)(),(0,a.iD)("tr",{key:o.id},[(0,a._)("td",null,[(0,a._)("span",rr,(0,s.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),U(o.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:(0,i.SU)(T).color,onInput:O},null,40,ar)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:o.translatedLabel,"sport-label":o.label,color:o.color?o.color:(0,i.SU)(m)[o.label]},null,8,["title","sport-label","color"]))]),(0,a._)("td",{class:(0,s.C_)(["sport-label",{"disabled-sport":!o.is_active}])},[(0,a._)("span",sr,(0,s.zw)(e.$t("user.PROFILE.SPORT.LABEL")),1),(0,a.Uk)(" "+(0,s.zw)(o.translatedLabel)+" ",1),o.is_active?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",or," ("+(0,s.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(E)&&U(o.id)?((0,a.wg)(),(0,a.iD)("i",ir)):(0,a.kq)("",!0),(0,i.SU)(p)&&(0,i.SU)(T).sport_id===o.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(p)},null,8,["message"])):(0,a.kq)("",!0)],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",lr,(0,s.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("i",{class:(0,s.C_)("fa fa"+((0,i.SU)(d).sports_list.includes(o.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",cr,(0,s.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),U(o.id)&&o.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,type:"checkbox",checked:o.is_active_for_user,onChange:I},null,40,ur)):((0,a.wg)(),(0,a.iD)("i",{key:1,class:(0,s.C_)("fa fa"+(o.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",dr,(0,s.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),U(o.id)&&o.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:(0,i.SU)(T).stopped_speed_threshold,onInput:R},null,40,mr)):((0,a.wg)(),(0,a.iD)("span",Sr,(0,s.zw)(o.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",_r,[(0,a._)("span",Er,(0,s.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===(0,i.SU)(T).sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>A(o)},(0,s.zw)(e.$t("buttons.EDIT")),9,pr)):(0,a.kq)("",!0),U(o.id)?((0,a.wg)(),(0,a.iD)("div",Tr,[(0,a._)("button",{disabled:(0,i.SU)(E),onClick:w},(0,s.zw)(e.$t("buttons.SUBMIT")),9,Ar),(0,a._)("button",{disabled:(0,i.SU)(E),onClick:e=>v(e,o.id)},(0,s.zw)(e.$t("buttons.RESET")),9,Ur),(0,a._)("button",{disabled:(0,i.SU)(E),onClick:t[3]||(t[3]=e=>A(null))},(0,s.zw)(e.$t("buttons.CANCEL")),9,Or)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Rr,[(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,o.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ir,[(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/edit/sports"))},(0,s.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[6]||(t[6]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))])):(0,a.kq)("",!0)])}}});const wr=(0,P.Z)(gr,[["__scopeId","data-v-4775544a"]]);var vr=wr,fr=n(12);const Nr=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),hr={class:"about-text"},Cr=["innerHTML"],Dr=Nr((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),kr={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},zr=Nr((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),Pr={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},Mr=Nr((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),yr=Nr((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),br={key:0},Lr=Nr((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),Gr=["href"];var Fr=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.APP_CONFIG]));return(e,t)=>{const r=(0,a.up)("i18n-t");return(0,a.wg)(),(0,a.iD)("div",hr,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,Cr),(0,a._)("p",null,[Dr,(0,a._)("a",kr,(0,s.zw)((0,s.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[zr,(0,a._)("a",Pr,(0,s.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[Mr,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[yr])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",br,[Lr,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,s.zw)(e.$t("about.CONTACT_ADMIN")),9,Gr)])):(0,a.kq)("",!0)])])}}});const Wr=(0,P.Z)(Fr,[["__scopeId","data-v-74257266"]]);var Yr=Wr;const xr={id:"bike"},$r=["src"];function Zr(e,t){return(0,a.wg)(),(0,a.iD)("div",xr,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,$r)])}const Kr={},Br=(0,P.Z)(Kr,[["render",Zr],["__scopeId","data-v-795f7f5f"]]);var Hr=Br;const qr={id:"about",class:"view"},jr={class:"container"},Vr={class:"container-sub"},Xr={class:"container-sub about-details"};var Jr=(0,a.aZ)({setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",qr,[(0,a._)("div",jr,[(0,a._)("div",Vr,[(0,a.Wm)(Hr)]),(0,a._)("div",Xr,[(0,a.Wm)(Yr)])])]))}});const Qr=(0,P.Z)(Jr,[["__scopeId","data-v-bffb50d0"]]);var ea=Qr,ta=n(1818),na=n(2056);const ra=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),aa={class:"timeline-workout"},sa={class:"box"},oa={class:"workout-user-date"},ia={class:"workout-user"},la=["title"],ca={key:0},ua={key:1,class:"no-map"},da={class:"img"},ma={class:"data"},Sa=ra((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),_a={key:0},Ea={class:"data"},pa=ra((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Ta={key:0,class:"data elevation"},Aa=["alt"],Ua={class:"data-values"},Oa=(0,a.Uk)("/ "),Ra={key:1,class:"data altitude"},Ia=ra((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),ga={class:"data-values"},wa=(0,a.Uk)(" +"),va=(0,a.Uk)("/- ");var fa=(0,a.aZ)({props:{user:null,useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=(0,c.o)(),{user:r,workout:o,sport:u,useImperialUnits:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));return(e,t)=>{const n=(0,a.up)("router-link"),l=(0,a.up)("SportImage"),c=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",aa,[(0,a._)("div",sa,[(0,a._)("div",oa,[(0,a._)("div",ia,[(0,a.Wm)(ze.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,i.SU)(r).username?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-user-name",to:{name:"User",params:{username:(0,i.SU)(r).username}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,i.SU)(r).username),1)])),_:1},8,["to"])):(0,a.kq)("",!0)]),(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:(0,i.SU)(o).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,i.SU)(o).title),1)])),_:1},8,["to"])):(0,a.kq)("",!0),(0,i.SU)(o).workout_date&&(0,i.SU)(r)?((0,a.wg)(),(0,a.iD)("div",{key:1,class:"workout-date",title:(0,i.SU)(Ce.Z)((0,i.SU)(We.eB)((0,i.SU)(o).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,s.zw)((0,i.SU)(ta.Z)(new Date((0,i.SU)(o).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,la)):(0,a.kq)("",!0)]),(0,a._)("div",{class:(0,s.C_)(["workout-map",{"no-cursor":!(0,i.SU)(o)}]),onClick:t[0]||(t[0]=t=>(0,i.SU)(o).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(o).id}}):null)},[(0,i.SU)(o)?((0,a.wg)(),(0,a.iD)("div",ca,[(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.j4)(na.Z,{key:0,workout:(0,i.SU)(o)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",ua,(0,s.zw)(e.$t("workouts.NO_MAP")),1))])):(0,a.kq)("",!0)],2),(0,a._)("div",{class:(0,s.C_)(["workout-data",{"without-gpx":(0,i.SU)(o)&&!(0,i.SU)(o).with_gpx}]),onClick:t[1]||(t[1]=t=>(0,i.SU)(o).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(o).id}}):null)},[(0,a._)("div",da,[(0,i.SU)(u).label?((0,a.wg)(),(0,a.j4)(l,{key:0,"sport-label":(0,i.SU)(u).label,color:(0,i.SU)(u).color},null,8,["sport-label","color"])):(0,a.kq)("",!0)]),(0,a._)("div",ma,[Sa,(0,i.SU)(o)?((0,a.wg)(),(0,a.iD)("span",_a,(0,s.zw)((0,i.SU)(o).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Ea,[pa,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).distance,digits:3,unitFrom:"km",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)]),(0,i.SU)(o)&&(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.iD)("div",Ta,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Aa),(0,a._)("div",Ua,[(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),Oa,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(o).max_alt,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),(0,i.SU)(o)&&(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.iD)("div",Ra,[Ia,(0,a._)("div",ga,[wa,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),va,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(o).descent,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0)],2)])])}}});const Na=(0,P.Z)(fa,[["__scopeId","data-v-c9d1f10c"]]);var ha=Na,Ca=n(5630),Da=n(3768);const ka={id:"timeline"},za={class:"section-title"},Pa={key:0},Ma={key:1},ya={key:1,class:"more-workouts"};var ba=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:o}=(0,i.BK)(t);let u=(0,i.iH)(1);const d=5,m=t.user.nb_workouts>=d?d:t.user.nb_workouts;(0,a.wF)((()=>E()));const S=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),_=(0,a.Fl)((()=>S.value.length>0&&null!==S.value[S.value.length-1].previous_workout));function E(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Da.eR})}function p(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Da.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ka,[(0,a._)("div",za,(0,s.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(o).nb_workouts>0&&0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",Pa,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)([...Array((0,i.SU)(m)).keys()],(e=>((0,a.wg)(),(0,a.j4)(ha,{user:(0,i.SU)(o),useImperialUnits:(0,i.SU)(o).imperial_units,key:e},null,8,["user","useImperialUnits"])))),128))])):((0,a.wg)(),(0,a.iD)("div",Ma,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.j4)(ha,{workout:e,sport:(0,i.SU)(S).length>0?(0,i.SU)(r).filter((t=>t.id===e.sport_id))[0]:null,user:(0,i.SU)(o),useImperialUnits:(0,i.SU)(o).imperial_units,key:e.id},null,8,["workout","sport","user","useImperialUnits"])))),128)),0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.j4)(Ca.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",ya,[(0,a._)("button",{onClick:p},(0,s.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const La=(0,P.Z)(ba,[["__scopeId","data-v-9ef2a9ac"]]);var Ga=La,Fa=n(1640),Wa=n(4559),Ya=n(7349),xa=n(1743),$a=n(9160),Za=n(1085);const Ka=["title"];var Ba=(0,a.aZ)({props:{workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{workout:n,sportLabel:r,sportColor:s}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",{class:"calendar-workout",onClick:t[0]||(t[0]=t=>e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(n).id}}))},[(0,a.Wm)(o,{"sport-label":(0,i.SU)(r),title:(0,i.SU)(n).title,color:(0,i.SU)(s)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(n).records.length>0?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:(0,i.SU)(n).records.map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,Ka)):(0,a.kq)("",!0)])])}}});const Ha=Ba;var qa=Ha;const ja={class:"donut-chart"},Va={height:"34",width:"34",viewBox:"0 0 34 34"},Xa=["stroke","stroke-dashoffset","transform"];var Ja=(0,a.aZ)({props:{colors:null,datasets:null},setup(e){const t=e,{colors:n,datasets:r}=(0,i.BK)(t);let s=-90;const o=16,l=16,c=14,u=2*Math.PI*c;function d(e,t){return t-e*t}function m(e,t){const n=`rotate(${s}, ${o}, ${l})`;return s=360*t+s,n}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ja,[((0,a.wg)(),(0,a.iD)("svg",Va,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.entries((0,i.SU)(r)),((e,t)=>((0,a.wg)(),(0,a.iD)("g",{key:t},[(0,a._)("circle",{cx:o,cy:l,r:c,fill:"transparent",stroke:(0,i.SU)(n)[+e[0]],"stroke-dashoffset":d(e[1].percentage,u),"stroke-dasharray":u,"stroke-width":"3","stroke-opacity":"0.8",transform:m(t,e[1].percentage)},null,8,Xa)])))),128))]))]))}});const Qa=Ja;var es=Qa;const ts={class:"calendar-workouts-chart"},ns={class:"workouts-count"},rs={key:0,class:"workouts-pane"},as={class:"more-workouts"};var ss=(0,a.aZ)({props:{colors:null,datasets:null,sports:null,workouts:null},setup(e){const t=e,{colors:n,datasets:r,sports:o,workouts:l}=(0,i.BK)(t),c=(0,i.iH)(!0);function u(e){e.stopPropagation(),c.value=!c.value}return(e,t)=>{const d=(0,a.Q2)("click-outside");return(0,a.wg)(),(0,a.iD)("div",ts,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",ns,(0,s.zw)((0,i.SU)(l).length),1),(0,a.Wm)(es,{datasets:(0,i.SU)(r),colors:(0,i.SU)(n)},null,8,["datasets","colors"])]),c.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",rs,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",as,[(0,a._)("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:u}),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(l),((e,t)=>((0,a.wg)(),(0,a.j4)(qa,{key:t,workout:e,sportLabel:(0,i.SU)(se.PA)(e,(0,i.SU)(o)),sportColor:(0,i.SU)(se.CM)(e,(0,i.SU)(o))},null,8,["workout","sportLabel","sportColor"])))),128))])),[[d,u]])]))])}}});const os=(0,P.Z)(ss,[["__scopeId","data-v-52d4310a"]]);var is=os;const ls={class:"calendar-workouts"},cs={class:"desktop-display"},us={key:0,class:"workouts-display"},ds={key:1,class:"donut-display"},ms={class:"mobile-display"},Ss={key:0,class:"donut-display"};var _s=(0,a.aZ)({props:{workouts:null,sports:null},setup(e){const t=e,{workouts:n,sports:r}=(0,i.BK)(t),s=(0,a.Fl)((()=>(0,Da.BN)(t.workouts))),o=(0,a.Fl)((()=>(0,se.Yx)(t.sports))),l=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ls,[(0,a._)("div",cs,[(0,i.SU)(n).length<=l?((0,a.wg)(),(0,a.iD)("div",us,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).slice(0,l),((e,t)=>((0,a.wg)(),(0,a.j4)(qa,{key:t,workout:e,sportLabel:(0,i.SU)(se.PA)(e,(0,i.SU)(r)),sportColor:(0,i.SU)(se.CM)(e,(0,i.SU)(r))},null,8,["workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",ds,[(0,a.Wm)(is,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(s),colors:(0,i.SU)(o)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",ms,[(0,i.SU)(n).length>0?((0,a.wg)(),(0,a.iD)("div",Ss,[(0,a.Wm)(is,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(s),colors:(0,i.SU)(o)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Es=_s;var ps=Es;const Ts={class:"calendar-cells"},As={class:"calendar-cell-day"};var Us=(0,a.aZ)({props:{currentDay:null,endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,endDate:r,sports:o,startDate:l,timezone:c,weekStartingMonday:u,workouts:d}=(0,i.BK)(t),m=(0,i.iH)([]);function S(){m.value=[];let e=l.value;while(e<=r.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,Ya.Z)(e,1);m.value.push(t)}}function _(e){return u.value?[5,6].includes(e):[0,6].includes(e)}function E(e,t){return t?t.filter((t=>(0,xa.Z)((0,We.eB)(t.workout_date,c.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ts,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(m.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:"calendar-row",key:t},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,s.C_)(["calendar-cell",{"disabled-cell":!(0,i.SU)($a.Z)(e,(0,i.SU)(n)),"week-end":_(t),today:(0,i.SU)(Za.Z)(e)}]),key:t},[(0,a.Wm)(ps,{workouts:E(e,(0,i.SU)(d)),sports:(0,i.SU)(o)},null,8,["workouts","sports"]),(0,a._)("div",As,(0,s.zw)((0,i.SU)(Ce.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const Os=Us;var Rs=Os;const Is={class:"calendar-days"};var gs=(0,a.aZ)({props:{startDate:null,localeOptions:null},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push((0,Ya.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",Is,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(n,((t,n)=>(0,a._)("div",{class:"calendar-day",key:n},(0,s.zw)((0,i.SU)(Ce.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const ws=gs;var vs=ws;const fs={class:"calendar-header"},Ns=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),hs=[Ns],Cs={class:"calendar-month"},Ds=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),ks=[Ds];var zs=(0,a.aZ)({props:{day:null,localeOptions:null},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,{day:r,localeOptions:o}=(0,i.BK)(n);return(e,n)=>((0,a.wg)(),(0,a.iD)("div",fs,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},hs),(0,a._)("div",Cs,[(0,a._)("span",null,(0,s.zw)((0,i.SU)(Ce.Z)((0,i.SU)(r),"MMM yyyy",{locale:(0,i.SU)(o)})),1)]),(0,a._)("div",{class:"calendar-arrow calendar-arrow-right",onClick:n[1]||(n[1]=e=>t("displayNextMonth"))},ks)]))}});const Ps=zs;var Ms=Ps;const ys={id:"user-calendar"},bs={class:"calendar-card box"};var Ls=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:s}=(0,i.BK)(t),o="yyyy-MM-dd";let u=(0,i.iH)(new Date),d=(0,i.iH)((0,We.yx)(u.value,t.user.weekm));const m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function _(){d.value=(0,We.yx)(u.value,t.user.weekm);const e={from:(0,Ce.Z)(d.value.start,o),to:(0,Ce.Z)(d.value.end,o),page:1,per_page:100,...Da.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function E(){u.value=(0,Fa.Z)(u.value,1),_()}function p(){u.value=(0,Wa.Z)(u.value,1),_()}return(0,a.wF)((()=>_())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",ys,[(0,a._)("div",bs,[(0,a.Wm)(Ms,{day:(0,i.SU)(u),"locale-options":(0,i.SU)(S),onDisplayNextMonth:E,onDisplayPreviousMonth:p},null,8,["day","locale-options"]),(0,a.Wm)(vs,{"start-date":(0,i.SU)(d).start,"locale-options":(0,i.SU)(S)},null,8,["start-date","locale-options"]),(0,a.Wm)(Rs,{currentDay:(0,i.SU)(u),"end-date":(0,i.SU)(d).end,sports:(0,i.SU)(r),"start-date":(0,i.SU)(d).start,timezone:(0,i.SU)(s).timezone,workouts:(0,i.SU)(m),weekStartingMonday:(0,i.SU)(s).weekm},null,8,["currentDay","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const Gs=Ls;var Fs=Gs,Ws=n(3703),Ys=n(4135),xs=n(7402);const $s={class:"user-month-stats"};var Zs=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,{sports:n,user:r}=(0,i.BK)(t),o=new Date,l={duration:"week",start:(0,Ws.Z)(o),end:(0,Ys.Z)(o)},c=t.sports.map((e=>e.id));return(e,t)=>{const o=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",$s,[(0,a.Wm)(o,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("dashboard.THIS_MONTH")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(xs.Z,{sports:(0,i.SU)(n),user:(0,i.SU)(r),"chart-params":l,"displayed-sport-ids":(0,i.SU)(c),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])])),_:1})])}}});const Ks=(0,P.Z)(Zs,[["__scopeId","data-v-1bcddc12"]]);var Bs=Ks;const Hs={class:"records-card"},qs={class:"record-type"},js={class:"record-value"},Vs={class:"record-date"};var Xs=(0,a.aZ)({props:{records:null,sportTranslatedLabel:null},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("SportImage"),l=(0,a.up)("router-link"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Hs,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Wm)(o,{"sport-label":(0,i.SU)(n).label,color:(0,i.SU)(n).color},null,8,["sport-label","color"]),(0,a.Uk)(" "+(0,s.zw)((0,i.SU)(r)),1)])),content:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).records,(t=>((0,a.wg)(),(0,a.iD)("div",{class:"record",key:t.id},[(0,a._)("span",qs,(0,s.zw)(e.$t(`workouts.RECORD_${t.record_type}`)),1),(0,a._)("span",js,(0,s.zw)(t.value),1),(0,a._)("span",Vs,[(0,a.Wm)(l,{to:{name:"Workout",params:{workoutId:t.workout_id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.workout_date),1)])),_:2},1032,["to"])])])))),128))])),_:1})])}}});const Js=(0,P.Z)(Xs,[["__scopeId","data-v-aee1f956"]]);var Qs=Js,eo=(n(1703),n(3649));const to=(e,t,n)=>{const r="km",a=n?eo.Dl[r].defaultTarget:r;let s;switch(e.record_type){case"AS":case"MS":s=`${(0,eo.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":s=`${(0,eo.sC)(+e.value,r,a,3)} ${a}`;break;case"LD":s=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,We.Jo)((0,We.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:s}},no=(e,t,n,r)=>e.reduce(((e,a)=>{const s=t.find((e=>e.id===a.sport_id));return s&&s.label&&(void 0===e[s.translatedLabel]&&(e[s.translatedLabel]={label:s.label,color:s.color,records:[]}),e[s.translatedLabel].records.push(to(a,n,r))),e}),{}),ro=e=>((0,a.dD)("data-v-ae25a82a"),e=e(),(0,a.Cn)(),e),ao={class:"user-records-section"},so={class:"section-title"},oo=ro((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),io={class:"user-records"},lo={key:0,class:"no-records"};var co=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ae.QT)(),r=(0,a.Fl)((()=>no(t.user.records,(0,se.xH)(t.sports,n),t.user.timezone,t.user.imperial_units)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",ao,[(0,a._)("div",so,[oo,(0,a.Uk)(" "+(0,s.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",io,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",lo,(0,s.zw)(t.$t("workouts.NO_RECORDS")),1)):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.keys((0,i.SU)(r)).sort(),(t=>((0,a.wg)(),(0,a.j4)(Qs,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const uo=(0,P.Z)(co,[["__scopeId","data-v-ae25a82a"]]);var mo=uo;const So={id:"user-stats"};var _o=(0,a.aZ)({props:{user:null},setup(e){const t=e,{t:n}=(0,ae.QT)(),{user:r}=(0,i.BK)(t),s=(0,a.Fl)((()=>t.user.total_duration)),o=(0,a.Fl)((()=>d(s))),l="km",c=r.value.imperial_units?eo.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,eo.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2))));function d(e){const t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?`${e.value.split(" ")[0]} ${e.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${t.split(":")[0]}h ${t.split(":")[1]}min`}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",So,[(0,a.Wm)(Z,{icon:"calendar",value:(0,i.SU)(r).nb_workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(r).nb_workouts)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"clock-o",value:(0,i.SU)(o).days,text:(0,i.SU)(o).duration},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"tags",value:(0,i.SU)(r).nb_sports,text:e.$t("workouts.SPORT",(0,i.SU)(r).nb_sports)},null,8,["value","text"])]))}});const Eo=_o;var po=Eo;const To=e=>((0,a.dD)("data-v-20e19721"),e=e(),(0,a.Cn)(),e),Ao={key:0,id:"dashboard",class:"view"},Uo={class:"container mobile-menu"},Oo={class:"box"},Ro=To((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),Io=[Ro],go=To((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),wo=[go],vo=To((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),fo=[vo],No=To((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),ho=[No],Co={class:"container"},Do={class:"container dashboard-container"},ko={class:"left-container dashboard-sub-container"},zo={class:"right-container dashboard-sub-container"},Po=To((()=>(0,a._)("div",{id:"bottom"},null,-1))),Mo={key:1,class:"app-loading"};var yo=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),r=(0,a.Fl)((()=>t.getters[l.O8.GETTERS.SPORTS])),o=(0,i.iH)("calendar");function u(e){o.value=e}return(e,t)=>{const l=(0,a.up)("Loader");return(0,i.SU)(n).username&&(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",Ao,[(0,a._)("div",Uo,[(0,a._)("div",Oo,[(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"calendar"===o.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},Io,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"chart"===o.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},wo,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"timeline"===o.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},fo,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"records"===o.value}]),onClick:t[3]||(t[3]=e=>u("records"))},ho,2)])]),(0,a._)("div",Co,[(0,a.Wm)(po,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Do,[(0,a._)("div",ko,[(0,a.Wm)(Bs,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("chart"===o.value)})},null,8,["sports","user","class"]),(0,a.Wm)(mo,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("records"===o.value)})},null,8,["sports","user","class"])]),(0,a._)("div",zo,[(0,a.Wm)(Fs,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("calendar"===o.value)})},null,8,["sports","user","class"]),(0,a.Wm)(Ga,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("timeline"===o.value)})},null,8,["sports","user","class"])])]),Po])):((0,a.wg)(),(0,a.iD)("div",Mo,[(0,a.Wm)(l)]))}}});const bo=(0,P.Z)(yo,[["__scopeId","data-v-20e19721"]]);var Lo=bo,Go=n(8273);const Fo={class:"not-found view"};var Wo=(0,a.aZ)({setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Fo,[(0,a.Wm)(Go.Z)]))}});const Yo=Wo;var xo=Yo,$o=n(7014);const Zo={id:"loginOrRegister",class:"view"},Ko={class:"container"},Bo={class:"container-sub"},Ho={class:"container-sub"};var qo=(0,a.aZ)({props:{action:null},setup(e){const t=e,{action:n}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Zo,[(0,a._)("div",Ko,[(0,a._)("div",Bo,[(0,a.Wm)(Hr)]),(0,a._)("div",Ho,[(0,a.Wm)($o.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const jo=(0,P.Z)(qo,[["__scopeId","data-v-6a38125b"]]);var Vo=jo;const Xo=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},Jo=[{path:"/",name:"Dashboard",component:Lo},{path:"/login",name:"Login",component:Vo,props:{action:"login"}},{path:"/register",name:"Register",component:Vo,props:{action:"register"}},{path:"/account-confirmation",name:"AccountConfirmation",component:()=>n.e(845).then(n.bind(n,4264))},{path:"/account-confirmation/resend",name:"AccountConfirmationResend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"account-confirmation-resend"}},{path:"/account-confirmation/email-sent",name:"AccountConfirmationEmailSend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"email-sent"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset"}},{path:"/email-update",name:"EmailUpdate",component:()=>n.e(845).then(n.bind(n,8160))},{path:"/profile",name:"Profile",component:()=>n.e(845).then(n.bind(n,6266)),children:[{path:"",name:"UserProfile",component:It,props:e=>({tab:Xo(e.path)}),children:[{path:"",name:"UserInfos",component:gt.Z},{path:"preferences",name:"UserPreferences",component:Ct},{path:"sports",name:"UserSportPreferences",component:vr,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:Pt,props:e=>({tab:Xo(e.path)}),children:[{path:"",name:"UserInfosEdition",component:mn},{path:"account",name:"UserAccountEdition",component:Ht},{path:"picture",name:"UserPictureEdition",component:wn},{path:"preferences",name:"UserPreferencesEdition",component:jn},{path:"sports",name:"UserSportPreferencesEdition",component:vr,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,7749))},{path:"/users/:username",name:"User",component:()=>n.e(845).then(n.bind(n,9453))},{path:"/workouts",name:"Workouts",component:()=>n.e(401).then(n.bind(n,5298))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,1254)),props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:()=>n.e(401).then(n.bind(n,8237))},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:()=>n.e(401).then(n.bind(n,1254)),props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:()=>n.e(401).then(n.bind(n,4189))},{path:"/admin",name:"Administration",component:()=>n.e(328).then(n.bind(n,6e3)),children:[{path:"",name:"AdministrationMenu",component:re},{path:"application",name:"ApplicationAdministration",component:y},{path:"application/edit",name:"ApplicationAdministrationEdition",component:y,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:he},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:ut}]},{path:"/about",name:"About",component:ea},{path:"/:pathMatch(.*)*",name:"not-found",component:xo}],Qo=(0,r.p7)({history:(0,r.PO)("/"),routes:Jo}),ei=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],ti=["/email-update","/about"];Qo.beforeEach(((e,t,n)=>{fr.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(ti.includes(e.path))return n();if(fr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&ei.includes(e.path))return n("/");if(fr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||ei.includes(e.path))n();else{const t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((e=>{console.error(e),n()}))}));var ni=Qo},8602:function(e,t,n){"use strict";var r,a,s,o,i,l,c,u,d,m,S,_,E,p,T;n.d(t,{YN:function(){return I},SY:function(){return U},O8:function(){return O},gu:function(){return R},RT:function(){return g},aX:function(){return w}}),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["CONFIRM_ACCOUNT"]="CONFIRM_ACCOUNT",e["CONFIRM_EMAIL"]="CONFIRM_EMAIL",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["RESEND_ACCOUNT_CONFIRMATION_EMAIL"]="RESEND_ACCOUNT_CONFIRMATION_EMAIL",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["RESET_USER_SPORT_PREFERENCES"]="RESET_USER_SPORT_PREFERENCES",e["UPDATE_USER_ACCOUNT"]="UPDATE_USER_ACCOUNT",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["IS_SUCCESS"]="IS_SUCCESS",e["IS_REGISTRATION_SUCCESS"]="IS_REGISTRATION_SUCCESS",e["USER_LOADING"]="USER_LOADING"}(a||(a={})),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_IS_SUCCESS"]="UPDATE_USER_IS_SUCCESS",e["UPDATE_IS_REGISTRATION_SUCCESS"]="UPDATE_IS_REGISTRATION_SUCCESS",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(s||(s={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(o||(o={})),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"}(l||(l={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(m||(m={})),function(e){e["USER_STATS"]="USER_STATS"}(S||(S={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(_||(_={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(E||(E={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_IS_SUCCESS"]="USERS_IS_SUCCESS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(p||(p={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION",e["UPDATE_IS_SUCCESS"]="UPDATE_IS_SUCCESS"}(T||(T={}));var A=n(52);const U={ACTIONS:o,GETTERS:i,MUTATIONS:l},O={ACTIONS:c,GETTERS:u,MUTATIONS:d},R={ACTIONS:m,GETTERS:S,MUTATIONS:_},I={ACTIONS:r,GETTERS:a,MUTATIONS:s},g={ACTIONS:E,GETTERS:p,MUTATIONS:T},w={ACTIONS:A.tW,GETTERS:A.JP,MUTATIONS:A.CW}},12:function(e,t,n){"use strict";n.d(t,{Z:function(){return ae}});var r=n(3907),a=(n(1703),n(5167)),s=n(9669),o=n.n(s),i=n(2024);const l=o().create({baseURL:(0,i.k)()});var c=l,u=n(2540),d=n(6448),m=n(8602);const S=(e,t)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`users/${t.username}`).then((n=>{204===n.status?t.fromAdmin?d.Z.push("/admin/users"):e.dispatch(m.YN.ACTIONS.LOGOUT).then((()=>d.Z.push("/"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},_={[m.RT.ACTIONS.EMPTY_USER](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USER,{})},[m.RT.ACTIONS.EMPTY_USERS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[m.RT.ACTIONS.GET_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get(`users/${t}`).then((t=>{"success"===t.data.status?e.commit(m.RT.MUTATIONS.UPDATE_USER,t.data.data.users[0]):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.GET_USERS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get("users",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.RT.MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.UPDATE_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1);const n={};void 0!==t.admin&&(n.admin=t.admin),t.resetPassword&&(n.reset_password=t.resetPassword),t.activate&&(n.activate=t.activate),void 0!==t.new_email&&(n.new_email=t.new_email),a.Z.patch(`users/${t.username}`,n).then((n=>{"success"===n.data.status?(e.commit(m.RT.MUTATIONS.UPDATE_USER_IN_USERS,n.data.data.users[0]),(t.resetPassword||t.new_email)&&e.commit(m.RT.MUTATIONS.UPDATE_IS_SUCCESS,!0),(t.activate||t.new_email)&&e.commit(m.RT.MUTATIONS.UPDATE_USER,n.data.data.users[0])):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.DELETE_USER_ACCOUNT](e,t){S(e,{username:t.username,fromAdmin:!0})}},{locale:E}=u.Z.global,p=e=>{localStorage.removeItem("authToken"),e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.gu.MUTATIONS.EMPTY_USER_STATS),e.commit(m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUTS),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),d.Z.push("/login")},T={[m.YN.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[m.YN.GETTERS.IS_AUTHENTICATED]&&(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE))},[m.YN.ACTIONS.CONFIRM_ACCOUNT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/confirm",{token:t.token}).then((t=>{if("success"===t.data.status){const n=t.data.auth_token;window.localStorage.setItem("authToken",n),e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,n),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/")))}else(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[m.YN.ACTIONS.CONFIRM_EMAIL](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),c.post("/auth/email/update",{token:t.token}).then((n=>{"success"===n.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0),t.refreshUser&&e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile/edit/account"))),d.Z.push("/profile/edit/account")):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[m.YN.ACTIONS.GET_USER_PROFILE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("auth/profile").then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(m.SY.MUTATIONS.UPDATE_LANG,t.data.data.language),E.value=t.data.data.language),e.dispatch(m.O8.ACTIONS.GET_SPORTS)):((0,i.S)(e,null),p(e))})).catch((t=>{(0,i.S)(e,t),p(e)}))},[m.YN.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),c.post(`/auth/${t.actionType}`,t.formData).then((n=>{if("success"===n.data.status)if("login"===t.actionType){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")))}else d.Z.push("/login").then((()=>e.commit(m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!0)));else(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.LOGOUT](e){p(e)},[m.YN.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),d.Z.push("/profile")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.UPDATE_USER_ACCOUNT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),a.Z.patch("auth/profile/edit/account",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/preferences",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(m.SY.MUTATIONS.UPDATE_LANG,t.data.data.language),E.value=t.data.data.language,d.Z.push("/profile/preferences")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"](`auth/profile/reset/sports/${t}`).then((t=>{204===t.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/sports",t).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),a.Z.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{"success"===t.data.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.DELETE_ACCOUNT](e,t){S(e,t)},[m.YN.ACTIONS.DELETE_PICTURE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"]("auth/picture").then((t=>{204===t.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/reset-request",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/resend-confirmation",t).then((t=>{"success"===t.data.status?d.Z.push("/account-confirmation/email-sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/update",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/password-updated"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},A={[m.YN.GETTERS.AUTH_TOKEN]:e=>e.authToken,[m.YN.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[m.YN.GETTERS.IS_AUTHENTICATED]:e=>null!==e.authToken,[m.YN.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[m.YN.GETTERS.IS_REGISTRATION_SUCCESS]:e=>e.isRegistrationSuccess,[m.YN.GETTERS.IS_SUCCESS]:e=>e.isSuccess,[m.YN.GETTERS.USER_LOADING]:e=>e.loading},U={[m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[m.YN.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](e,t){e.isRegistrationSuccess=t},[m.YN.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t},[m.YN.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t}},O={authToken:null,authUserProfile:{},isSuccess:!1,isRegistrationSuccess:!1,loading:!1},R={state:O,actions:T,getters:A,mutations:U};var I=R;const g={[m.SY.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),a.Z.get("config").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!1)))},[m.SY.ACTIONS.GET_APPLICATION_STATS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("stats/all").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.SY.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch("config",t).then((t=>{"success"===t.data.status?(e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),d.Z.push("/admin/application")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},w={[m.SY.GETTERS.APP_CONFIG]:e=>e.application.config,[m.SY.GETTERS.APP_LOADING]:e=>e.appLoading,[m.SY.GETTERS.APP_STATS]:e=>e.application.statistics,[m.SY.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[m.SY.GETTERS.LANGUAGE]:e=>e.language,[m.SY.GETTERS.LOCALE]:e=>e.locale};var v=n(6287);const f={[m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[m.SY.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[m.SY.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=v.v1[t]}};var N=n(5826);const h={root:!0,language:"en",locale:N.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},C={[m.O8.ACTIONS.GET_SPORTS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("sports").then((t=>{"success"===t.data.status?(e.commit(m.O8.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.O8.ACTIONS.UPDATE_SPORTS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch(`sports/${t.id}`,{is_active:t.isActive}).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},D={[m.O8.GETTERS.SPORTS]:e=>e.sports},k={[m.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},z={sports:[]},P={state:z,actions:C,getters:D,mutations:k};var M=P;const y={[m.gu.ACTIONS.GET_USER_STATS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then((t=>{"success"===t.data.status?e.commit(m.gu.MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},b={[m.gu.GETTERS.USER_STATS]:e=>e.statistics},L={[m.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[m.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},G={statistics:{}},F={state:G,actions:y,getters:b,mutations:L};var W=F;const Y={[m.RT.GETTERS.USER]:e=>e.user,[m.RT.GETTERS.USERS]:e=>e.users,[m.RT.GETTERS.USERS_IS_SUCCESS]:e=>e.isSuccess,[m.RT.GETTERS.USERS_LOADING]:e=>e.loading,[m.RT.GETTERS.USERS_PAGINATION]:e=>e.pagination},x={[m.RT.MUTATIONS.UPDATE_USER](e,t){e.user=t},[m.RT.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map((e=>e.username===t.username?t:e))},[m.RT.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[m.RT.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[m.RT.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t},[m.RT.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t}},$={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},Z={state:$,actions:_,getters:Y,mutations:x};var K=Z,B=n(52);const H=(e,t,n)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("workouts",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.aX.MUTATIONS[n],t.data.data.workouts),n===B.CW.SET_USER_WORKOUTS&&e.commit(m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},q={[m.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),H(e,t,B.CW.SET_CALENDAR_WORKOUTS)},[m.aX.ACTIONS.GET_USER_WORKOUTS](e,t){H(e,t,B.CW.SET_USER_WORKOUTS)},[m.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){H(e,t,B.CW.SET_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){H(e,t,B.CW.ADD_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";a.Z.get(`workouts/${t.workoutId}`).then((r=>{const s=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===s.segments.length||!s.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(m.aX.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(a.Z.get(`workouts/${t.workoutId}/chart_data${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),a.Z.get(`workouts/${t.workoutId}/gpx${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,null)})).catch((t=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.DELETE_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z["delete"](`workouts/${t.workoutId}`).then((()=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),d.Z.push("/")})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.EDIT_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.patch(`workouts/${t.workoutId}`,t.data).then((()=>{e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),e.dispatch(m.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((()=>{d.Z.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(1===t.data.data.workouts.length?`/workouts/${n.id}`:"/")}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.post("workouts/no_gpx",t).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(`/workouts/${n.id}`)}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))}},j={[m.aX.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[m.aX.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[m.aX.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[m.aX.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[m.aX.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},V={[m.aX.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[m.aX.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[m.aX.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[m.aX.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[m.aX.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[m.aX.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[m.aX.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},X={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},J={state:X,actions:q,getters:j,mutations:V};var Q=J;const ee={authUserModule:I,sportsModule:M,statsModule:W,usersModule:K,workoutsModule:Q},te={state:h,actions:g,getters:w,mutations:f,modules:ee};var ne=te;const re=(0,r.MT)(ne);var ae=re},52:function(e,t,n){"use strict";var r,a,s;n.d(t,{CW:function(){return s},JP:function(){return a},tW:function(){return r}}),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"}(a||(a={})),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"}(s||(s={}))},9917:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var r=n(3907);function a(){return(0,r.oR)()}},2766:function(e,t,n){"use strict";n.d(t,{Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l}});const r=["asc","desc"],a=1,s=10,o=(e,t)=>e&&"string"===typeof e&&+e>0?+e:t,i=(e,t,n)=>e&&"string"===typeof e&&t.includes(e)?e:n,l=(e,t,n,l)=>{const c=l||{},u=c.defaultSort||"asc",d={};return d.page=o(e.page,a),d.per_page=o(e.per_page,s),d.order=i(e.order,r,u),d.order_by=i(e.order_by,t,n),"string"===typeof e.q?d.q=e.q:delete d.q,d},c=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=(e,t=1)=>Array.from({length:e-t+1},((e,n)=>t+n)),d=(e,t)=>{if(e<0)return[];if(e<9)return u(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{switch(e){case"week":return(0,r.Z)(t,{weekStartsOn:n?1:0});case"year":return(0,a.Z)(t);case"month":return(0,s.Z)(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},_=(e,t)=>{switch(e){case"week":return(0,o.Z)(t,7);case"year":return(0,i.Z)(t,1);case"month":return(0,l.Z)(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},E=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),p=(e,t)=>{const n=(0,s.Z)(e),a=(0,c.Z)(e),o=t?1:0;return{start:(0,r.Z)(n,{weekStartsOn:o}),end:(0,u.Z)(a,{weekStartsOn:o})}},T=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},8966:function(e,t,n){"use strict";n.d(t,{Z:function(){return a},j:function(){return s}});const r=["bytes","KB","MB","GB","TB"],a=(e,t=!0)=>{const n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};const a=(e/Math.pow(1024,n)).toFixed(1),s=r[n];return t?`${a}${s}`:{size:a,suffix:s}},s=e=>{const t=e/1048576;return+t.toFixed(2)}},2024:function(e,t,n){"use strict";n.d(t,{S:function(){return s},k:function(){return a}});var r=n(8602);const a=()=>"/api/",s=(e,t,n="UNKNOWN")=>{const a=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.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},6287:function(e,t,n){"use strict";n.d(t,{mT:function(){return c},v1:function(){return o},zK:function(){return i}});var r=n(5826),a=n(5830),s=n(2540);const o={en:r.Z,fr:a.Z},i={en:"English",fr:"Français"},{availableLocales:l}=s.Z.global,c=l.map((e=>({label:i[e],value:e})))},631:function(e,t,n){"use strict";n.d(t,{CM:function(){return l},PA:function(){return i},Yx:function(){return a},Zo:function(){return r},xH:function(){return o}});const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},a=e=>{const t={};return e.map((e=>t[e.id]=e.color?e.color:r[e.label])),t},s=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter((e=>"all"===n||(r.includes(e.id)||e[n]))).map((e=>({...e,translatedLabel:t(`sports.${e.label}.LABEL`)}))).sort(s),i=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.label))[0],l=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.color))[0]},9318:function(e,t,n){"use strict";n.d(t,{FN:function(){return N},aZ:function(){return f},v1:function(){return v}});var r=n(4850),a=n(8148),s=n(9319),o=n(584),i=n(4559),l=n(3703),c=n(876),u=n(7090),d=n(4135),m=n(1593),S=n(7982),_=n(3500),E=n(1640),p=n(6558),T=n(631),A=n(3649);const U={week:{api:"yyyy-MM-dd",chart:"dd/MM/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},O=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],R=(e,t)=>{const n=[];for(let r=(0,p.Nh)(e.duration,e.start,t);r<=e.end;r=(0,p.xA)(e.duration,r))n.push(r);return n},I=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},g=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map((e=>{const n=e.color?e.color:T.Zo[e.label];t.average_speed.push(I(e.label,n,!0)),t.nb_workouts.push(I(e.label,n)),t.total_distance.push(I(e.label,n)),t.total_duration.push(I(e.label,n)),t.total_ascent.push(I(e.label,n)),t.total_descent.push(I(e.label,n))})),t},w=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},v=(e,t,n,a,s,o)=>{const i=R(e,t),l=U[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=g(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),O.map((e=>{d[e].map((n=>{n.data.push(s!=={}&&t in s&&m[n.label]in s[t]?w(e,s[t][m[n.label]][e],o):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},f=(e,t,n)=>{const r=n?1:0,m="year"===t?(0,a.Z)((0,s.Z)(e,9)):"week"===t?(0,o.Z)((0,i.Z)(e,2),{weekStartsOn:r}):(0,l.Z)((0,i.Z)(e,11)),S="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:S,start:m}},N=(e,t,n)=>{const{duration:r,start:p,end:T}=e,A=n?1:0;return{duration:r,end:"year"===r?(0,c.Z)(t?(0,s.Z)(T,1):(0,m.Z)(T,1)):"week"===r?(0,u.Z)(t?(0,S.Z)(T,1):(0,_.Z)(T,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(T,1):(0,E.Z)(T,1)),start:"year"===r?(0,a.Z)(t?(0,s.Z)(p,1):(0,m.Z)(p,1)):"week"===r?(0,o.Z)(t?(0,S.Z)(p,1):(0,_.Z)(p,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(p,1):(0,E.Z)(p,1))}}},3649:function(e,t,n){"use strict";n.d(t,{Dl:function(){return r},f3:function(){return o},sC:function(){return s}});const r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},a={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},s=(e,t,n,s=3)=>{const o=r[t],i=r[n],l=e*o.multiplier*a[o.system][i.system]/i.multiplier;return null!==s?parseFloat(l.toFixed(s)):l},o=(e,t,n)=>{const a=n?r[e].defaultTarget:e;return n?s(t,e,a,2):t}},3768:function(e,t,n){"use strict";n.d(t,{BN:function(){return s},EX:function(){return a},eR:function(){return o}});var r=n(3649);const a=(e,t,n)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["#FFFFFF"],borderColor:["#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:["#e5e5e5"],borderColor:["#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},s=[],o=[],i=[];return e.map((e=>{s.push(e.distance),o.push(e.duration),a.speed.data.push((0,r.f3)("km",e.speed,n)),a.elevation.data.push((0,r.f3)("m",e.elevation,n)),i.push({latitude:e.latitude,longitude:e.longitude})})),{distance_labels:s,duration_labels:o,datasets:a,coordinates:i}},s=e=>{const t=e.length;if(0===t)return{};const n={};return e.map((e=>{n[e.sport_id]||(n[e.sport_id]={count:0,percentage:0}),n[e.sport_id].count+=1,n[e.sport_id].percentage=n[e.sport_id].count/t})),n},o={order:"desc",order_by:"workout_date"}},2531:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={class:"card"},s={class:"card-title"},o={class:"card-content"};function i(e,t){return(0,r.wg)(),(0,r.iD)("div",a,[(0,r._)("div",s,[(0,r.WI)(e.$slots,"title")]),(0,r._)("div",o,[(0,r.WI)(e.$slots,"content")])])}var l=n(3744);const c={},u=(0,l.Z)(c,[["render",i]]);var d=u},8626:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(6252),a=n(3577),s=n(2262);const o={class:"table-selects"},i=["value"],l=["value"],c=["value"],u=["value"],d=["value"],m=["value"];var S=(0,r.aZ)({props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup(e,{emit:t}){const n=e,{order_by:S,query:_,sort:E,message:p}=(0,s.BK)(n),T=[10,25,50,100];function A(e){t("updateSelect",e.target.id,e.target.value)}return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),(0,r._)("select",{name:"order_by",id:"order_by",value:(0,s.SU)(_).order_by,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(S),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`${(0,s.SU)(p)}.${t.toUpperCase()}`)),9,l)))),128))],40,i)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),(0,r._)("select",{name:"order",id:"order",value:(0,s.SU)(_).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(E),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`common.SELECTS.ORDER.${t.toUpperCase()}`)),9,u)))),128))],40,c)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),(0,r._)("select",{name:"per_page",id:"per_page",value:(0,s.SU)(_).per_page,onChange:A},[((0,r.wg)(),(0,r.iD)(r.HY,null,(0,r.Ko)(T,(e=>(0,r._)("option",{value:e,key:e},(0,a.zw)(e),9,m))),64))],40,d)])]))}}),_=n(3744);const E=(0,_.Z)(S,[["__scopeId","data-v-72463173"]]);var p=E},7167:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},s=(0,r.uE)('',1),o=[s];function i(e,t,n,s,i,l){return(0,r.wg)(),(0,r.iD)("svg",a,o)}var l={name:"ErrorImg"},c=n(3744);const u=(0,c.Z)(l,[["render",i]]);var d=u},8273:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(6252),a=n(2262),s=n(3577);const o={id:"error"},i={class:"error-content"};var l=(0,r.aZ)({props:{title:null,message:null,buttonText:null,path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:l,message:c,path:u}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("div",i,[(0,r._)("h1",null,(0,s.zw)((0,a.SU)(l)),1),(0,r._)("p",null,(0,s.zw)((0,a.SU)(c)),1),(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[0]||(t[0]=t=>e.$router.push((0,a.SU)(u))),class:"upper"},(0,s.zw)((0,a.SU)(n)),1)):(0,r.kq)("",!0)])]))}}),c=n(3744);const u=(0,c.Z)(l,[["__scopeId","data-v-b60bfa80"]]);var d=u,m=(0,r.aZ)({props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const S=m;var _=S},6514:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(6252),a=n(3577),s=n(2262),o=n(2766);const i=e=>((0,r.dD)("data-v-f38ea1b8"),e=e(),(0,r.Cn)(),e),l={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},u=i((()=>(0,r._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1))),d={key:0},m=i((()=>(0,r._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)));var S=(0,r.aZ)({props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:S}=(0,s.BK)(t);function _(e,t){const n=Object.assign({},S.value);return n.page=t?e+t:e,n}return(e,t)=>{const S=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("nav",l,[(0,r._)("ul",c,[(0,r._)("li",{class:(0,a.C_)(["page-prev",{disabled:!(0,s.SU)(n).has_prev}])},[(0,r.Wm)(S,{class:"page-link",to:{path:(0,s.SU)(i),query:_((0,s.SU)(n).page,-1)},disabled:!(0,s.SU)(n).has_prev},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,s.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.PREVIOUS"))+" ",1),u]))])),_:3},8,["to","disabled"])],2),((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(o.lM)((0,s.SU)(n).pages,(0,s.SU)(n).page),(e=>((0,r.wg)(),(0,r.iD)("li",{key:e,class:(0,a.C_)(["page",{active:e===(0,s.SU)(n).page}])},["..."===e?((0,r.wg)(),(0,r.iD)("span",d," ... ")):((0,r.wg)(),(0,r.j4)(S,{key:1,class:"page-link",to:{path:(0,s.SU)(i),query:_(+e)}},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e),1)])),_:2},1032,["to"]))],2)))),128)),(0,r._)("li",{class:(0,a.C_)(["page-next",{disabled:!(0,s.SU)(n).has_next}])},[(0,r.Wm)(S,{class:"page-link",to:{path:(0,s.SU)(i),query:_((0,s.SU)(n).page,1)},disabled:!(0,s.SU)(n).has_next},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,s.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.NEXT"))+" ",1),m]))])),_:3},8,["to","disabled"])],2)])])}}}),_=n(3744);const E=(0,_.Z)(S,[["__scopeId","data-v-f38ea1b8"]]);var p=E},2047:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(6252),a=n(2262),s=n(9963),o=n(3577),i=n(3257),l=n(8602),c=n(9917);const u=async e=>{const t=await n.e(881).then(n.bind(n,410)),r=await n.e(881).then(n.bind(n,8288)),a=await n.e(881).then(n.bind(n,6947)),s={en:r,fr:a},o=s[e],l={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...o.default.dictionary}};i.Mu.setOptions(l)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},S=["value"],_={key:0,class:"password-strength-details"},E={class:"password-strength-value"},p={key:0,class:"info-box"},T={class:"password-feedback"};var A=(0,r.aZ)({props:{password:null},setup(e){const t=e,{password:n}=(0,a.BK)(t),s=(0,c.o)(),A=(0,r.Fl)((()=>s.getters[l.SY.GETTERS.LANGUAGE])),U=(0,r.Fl)((()=>s.getters[l.YN.GETTERS.IS_SUCCESS])),O=(0,a.iH)(0),R=(0,a.iH)(""),I=(0,a.iH)([]),g=(0,a.iH)("0% 100%");function w(e){let t=(0,i.tu)(e);O.value=t.score,R.value=d(O.value),I.value=t.feedback.suggestions,g.value=100*O.value/4+"% 100%"}return(0,r.wF)((async()=>await u(A.value))),(0,r.YP)((()=>A.value),(async e=>{await u(e)})),(0,r.YP)((()=>n.value),(async e=>{U.value?R.value="":w(e)})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("input",{class:(0,o.C_)(["password-slider",`strength-${O.value}`]),style:(0,o.j5)({backgroundSize:g.value}),type:"range",value:O.value,min:"0",max:"4",step:"1"},null,14,S),R.value?((0,r.wg)(),(0,r.iD)("div",_,[(0,r._)("span",E,(0,o.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,o.zw)(e.$t(`user.PASSWORD_STRENGTH.${R.value}`)),1),I.value.length>0?((0,r.wg)(),(0,r.iD)("div",p,[(0,r._)("ul",T,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(I.value,(t=>((0,r.wg)(),(0,r.iD)("li",{key:t},(0,o.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),U=n(3744);const O=(0,U.Z)(A,[["__scopeId","data-v-79c9693d"]]);var R=O;const I=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),g={class:"password-input"},w=["id","disabled","placeholder","required","type"],v={key:0,class:"form-info"},f=I((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var N=(0,r.aZ)({props:{checkStrength:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{default:"password"},password:{default:""},placeholder:null,required:{type:Boolean,default:!1}},emits:["updatePassword","passwordError"],setup(e,{emit:t}){const n=e,{checkStrength:i,disabled:l,id:c,password:u,placeholder:d,required:m}=(0,a.BK)(n),S=(0,a.iH)(!1),_=(0,a.iH)("");function E(){S.value=!S.value}function p(e){t("updatePassword",e.target.value)}function T(){t("passwordError")}return(0,r.YP)((()=>u.value),(e=>{""===e&&(_.value="")})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",g,[(0,r.wy)((0,r._)("input",{id:(0,a.SU)(c),disabled:(0,a.SU)(l),placeholder:(0,a.SU)(d),required:(0,a.SU)(m),type:S.value?"text":"password","onUpdate:modelValue":t[0]||(t[0]=e=>_.value=e),minlength:"8",onInput:p,onInvalid:T},null,40,w),[[s.YZ,_.value]]),(0,r._)("div",{class:"show-password",onClick:E},[(0,r.Uk)((0,o.zw)(e.$t(`user.${S.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,o.C_)(["fa","fa-eye"+(S.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",v,[f,(0,r.Uk)(" "+(0,o.zw)(e.$t("user.PASSWORD_INFO")),1)])):(0,r.kq)("",!0),(0,a.SU)(i)?((0,r.wg)(),(0,r.j4)(R,{key:1,password:_.value},null,8,["password"])):(0,r.kq)("",!0)]))}});const h=(0,U.Z)(N,[["__scopeId","data-v-5a126514"]]);var C=h},2056:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577),s=n(2262),o=n(2024);const i=(0,r._)("div",{class:"map-attribution"},[(0,r._)("span",{class:"map-attribution-text"},"©"),(0,r._)("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1);var l=(0,r.aZ)({props:{workout:null,displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=(0,s.BK)(t),l=`${(0,o.k)()}workouts/map/${t.workout.map}`;return(e,t)=>((0,r.wg)(),(0,r.iD)("div",{class:(0,a.C_)(["static-map",{"display-hover":(0,s.SU)(n)}])},[(0,s.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,src:l,alt:""})):((0,r.wg)(),(0,r.iD)("div",{key:1,class:"bg-map-image",style:(0,a.j5)({backgroundImage:`url(${l})`})},null,4)),i],2))}});const c=l;var u=c},7402:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var r=n(6252),a=n(3577);const s={class:"start-chart"},o={key:0},i={key:1},l={class:"chart-radio"},c=["checked"],u=["checked"],d=["checked"],m={key:0},S=["checked"],_={key:1},E=["checked"],p={key:2},T=["checked"];function A(e,t,n,A,U,O){const R=(0,r.up)("Chart");return(0,r.wg)(),(0,r.iD)("div",s,[e.hideChartIfNoData&&e.emptyStats?((0,r.wg)(),(0,r.iD)("div",o,(0,a.zw)(e.$t("workouts.NO_WORKOUTS")),1)):((0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("div",l,[(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[0]||(t[0]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,c),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DISTANCE")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[1]||(t[1]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,u),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DURATION")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[2]||(t[2]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,d),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.WORKOUT",2)),1)]),e.fullStats?((0,r.wg)(),(0,r.iD)("label",m,[(0,r._)("input",{type:"radio",name:"average_speed",checked:"average_speed"===e.displayedData,onClick:t[3]||(t[3]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,S),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.AVERAGE_SPEED")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",_,[(0,r._)("input",{type:"radio",name:"total_ascent",checked:"total_ascent"===e.displayedData,onClick:t[4]||(t[4]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,E),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.ASCENT")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",p,[(0,r._)("input",{type:"radio",name:"total_descent",checked:"total_descent"===e.displayedData,onClick:t[5]||(t[5]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,T),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DESCENT")),1)])):(0,r.kq)("",!0)]),e.labels.length>0?((0,r.wg)(),(0,r.j4)(R,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats,useImperialUnits:e.user.imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):(0,r.kq)("",!0)]))])}var U=n(4850),O=n(2262);const R={class:"chart"};function I(e,t,n,a,s,o){const i=(0,r.up)("BarChart");return(0,r.wg)(),(0,r.iD)("div",R,[(0,r.Wm)(i,(0,r.dG)(e.barChartProps,{class:"bar-chart"}),null,16)])}var g=n(6518),w=n(3324);const v=(e,t=!1)=>{let n="0";t&&(n=String(Math.floor(e/86400)),e%=86400);const r=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;const a=String(Math.floor(e/60)).padStart(2,"0"),s=String(e%60).padStart(2,"0");return t?`${"0"===n?"":`${n}d `}${"00"===r?"":`${r}h `}${a}m ${s}s`:`${"00"===r?"":`${r}:`}${a}:${s}`};var f=n(3649);const N=(e,t,n,r=!0)=>{const a="km",s=n?f.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${s}/h`;case"total_duration":return v(t,r);case"total_distance":return`${t.toFixed(2)} ${s}`;case"total_ascent":case"total_descent":return`${(t/1e3).toFixed(2)} ${s}`;default:return t.toString()}};var h=(0,r.aZ)({name:"Chart",components:{BarChart:g.vz},props:{datasets:{type:Object,required:!0},labels:{type:Object,required:!0},displayedData:{type:String,required:!0},displayedSportIds:{type:Array,required:!0},fullStats:{type:Boolean,required:!0},useImperialUnits:{type:Boolean,required:!0}},setup(e){const{t:t}=(0,w.QT)();function n(e){return isNaN(e)?0:+e}function a(e,t){return n(e)+n(t)}let s=(0,r.Fl)((()=>({labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))})));const o=(0,r.Fl)((()=>({responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:"average_speed"!==e.displayedData,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return N(e.displayedData,+t,e.useImperialUnits,!1)}},afterFit:function(t){t.width=e.fullStats?75:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(t){return"average_speed"===e.displayedData&&t.dataset.backgroundColor?t.dataset.backgroundColor[0]:"#666666"},rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)&&("average_speed"!==e.displayedData||1==e.displayedSportIds.length&&"auto")},formatter:function(t,n){if("average_speed"===e.displayedData)return N(e.displayedData,t,e.useImperialUnits,!1);{const t=n.chart.data.datasets.map((e=>e.data[n.dataIndex])).reduce(((e,t)=>a(e,t)),0);return n.datasetIndex===e.displayedSportIds.length-1&&t>0?N(e.displayedData,t,e.useImperialUnits,!1):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:"average_speed"===e.displayedData?"nearest":"average"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(n){let r=t(`sports.${n.dataset.label}.LABEL`)||"";return r&&(r+=": "),null!==n.parsed.y&&(r+=N(e.displayedData,n.parsed.y,e.useImperialUnits)),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+N(e.displayedData,r,e.useImperialUnits)}}}}}))),{barChartProps:i}=(0,g.xZ)({chartData:s,options:o});return{barChartProps:i}}}),C=n(3744);const D=(0,C.Z)(h,[["render",I]]);var k=D,z=n(8602),P=n(9917),M=n(9318),y=(0,r.aZ)({name:"UserMonthStats",components:{Chart:k},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup(e){const t=(0,P.o)();let n=(0,O.iH)("total_distance");const a=(0,r.Fl)((()=>t.getters[z.gu.GETTERS.USER_STATS])),s=(0,r.Fl)((()=>(0,M.v1)(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,a.value,e.user.imperial_units)));function o(n){t.dispatch(z.gu.ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:n})}function i(e){n.value=e.target.name}function l(e,t){return{from:(0,U.Z)(e.start,"yyyy-MM-dd"),to:(0,U.Z)(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week"+(t.weekm?"m":""):e.duration}}return(0,r.wF)((()=>o(l(e.chartParams,e.user)))),(0,r.YP)((()=>e.chartParams),(async t=>{o(l(t,e.user))})),{datasets:(0,r.Fl)((()=>s.value.datasets[n.value])),labels:(0,r.Fl)((()=>s.value.labels)),emptyStats:(0,r.Fl)((()=>0===Object.keys(a.value).length)),displayedData:n,updateDisplayData:i}}});const b=(0,C.Z)(y,[["render",A],["__scopeId","data-v-68a6a495"]]);var L=b},2179:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(6252),a=n(2262),s=n(3577),o=n(6595),i=n(8602),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},S={class:"user-stat"},_={class:"stat-number"},E={class:"stat-label"},p={class:"user-stat"},T={class:"stat-label"},A={class:"user-stat hide-small"},U={class:"stat-number"},O={class:"stat-label"};var R=(0,r.aZ)({props:{user:null},setup(e){const t=e,{user:n}=(0,a.BK)(t),R=(0,l.o)(),I=(0,r.Fl)((()=>R.getters[i.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const i=(0,r.up)("Distance");return(0,r.wg)(),(0,r.iD)("div",c,[(0,r.Wm)(o.Z,{user:(0,a.SU)(n)},null,8,["user"]),(0,r._)("div",u,[(0,r._)("div",d,(0,s.zw)((0,a.SU)(n).username),1),(0,r._)("div",m,[(0,r._)("div",S,[(0,r._)("span",_,(0,s.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",E,(0,s.zw)(e.$t("workouts.WORKOUT",(0,a.SU)(n).nb_workouts)),1)]),(0,r._)("div",p,[(0,r.Wm)(i,{distance:(0,a.SU)(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:(0,a.SU)(I).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",T,(0,s.zw)((0,a.SU)(I).imperial_units?"miles":"km"),1)]),(0,r._)("div",A,[(0,r._)("span",U,(0,s.zw)((0,a.SU)(n).nb_sports),1),(0,r._)("span",O,(0,s.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),I=n(3744);const g=(0,I.Z)(R,[["__scopeId","data-v-20291951"]]);var w=g},4317:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(6252),a=n(2262),s=n(3577),o=n(9963),i=n(4850),l=n(8602),c=n(9917);const u={id:"user-infos",class:"description-list"},d={key:1,class:"info-box success-message"},m={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},_={class:"form-items",for:"email"},E={class:"form-buttons"},p={class:"confirm",type:"submit"},T=["onClick"],A={key:5},U={class:"user-bio"},O={key:0,class:"profile-buttons"},R=["onClick"],I={key:1,class:"profile-buttons"};var g=(0,r.aZ)({props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:g,fromAdmin:w}=(0,a.BK)(t),v=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),f=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),N=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):"")),h=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),C=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));let D=(0,a.iH)("");const k=(0,a.iH)(!1),z=(0,a.iH)(!1),P=(0,a.iH)(""),M=(0,a.iH)("");function y(e){D.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function b(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function L(e){M.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function G(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function F(){x(),P.value=g.value.email_to_confirm?g.value.email_to_confirm:"",z.value=!0,M.value="email-update"}function W(){P.value="",z.value=!1}function Y(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:P.value})}function x(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),M.value=""}return(0,r.Ah)((()=>x())),(0,r.YP)((()=>h.value),(e=>{e&&(y(""),W())})),(e,t)=>{const n=(0,r.up)("Modal"),i=(0,r.up)("AlertMessage"),l=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",u,[(0,a.SU)(D)?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===(0,a.SU)(D)?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(g).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===(0,a.SU)(D)?b((0,a.SU)(g).username):L((0,a.SU)(g).username)),onCancelAction:t[1]||(t[1]=e=>y(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(h)?((0,r.wg)(),(0,r.iD)("div",d,(0,s.zw)(e.$t(`admin.${"password-reset"===M.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(i,{key:2,message:"user.THIS_USER_ACCOUNT_IS_INACTIVE"})),(0,a.SU)(C)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(C)},null,8,["message"])):(0,r.kq)("",!0),z.value?((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("form",{class:(0,s.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,o.iM)((e=>Y((0,a.SU)(g).username)),["prevent"]))},[(0,r._)("label",S,[(0,r.Uk)((0,s.zw)(e.$t("admin.CURRENT_EMAIL"))+" ",1),(0,r.wy)((0,r._)("input",{id:"email",type:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,a.SU)(g).email=e),disabled:""},null,512),[[o.nr,(0,a.SU)(g).email]])]),(0,r._)("label",_,[(0,r.Uk)((0,s.zw)(e.$t("admin.NEW_EMAIL"))+"* ",1),(0,r.wy)((0,r._)("input",{id:"new-email",type:"email",required:"","onUpdate:modelValue":t[3]||(t[3]=e=>P.value=e)},null,512),[[o.nr,P.value]])]),(0,r._)("div",E,[(0,r._)("button",p,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,o.iM)(W,["prevent"])},(0,s.zw)(e.$t("buttons.CANCEL")),9,T)])],34)])):((0,r.wg)(),(0,r.iD)("div",A,[(0,r._)("dl",null,[(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(f)),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.FIRST_NAME"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(g).first_name),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.LAST_NAME"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(g).last_name),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(N)),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(g).location),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",U,(0,s.zw)((0,a.SU)(g).bio),1)]),(0,a.SU)(w)?((0,r.wg)(),(0,r.iD)("div",O,[(0,a.SU)(v).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,o.iM)((e=>y("delete")),["prevent"]))},(0,s.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,o.iM)((e=>G((0,a.SU)(g).username)),["prevent"]))},(0,s.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(v).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,o.iM)(F,["prevent"])},(0,s.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,R)):(0,r.kq)("",!0),(0,a.SU)(v).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,o.iM)((e=>y("reset")),["prevent"]))},(0,s.zw)(e.$t("admin.RESET_USER_PASSWORD")),1)):(0,r.kq)("",!0),(0,r._)("button",{onClick:t[8]||(t[8]=t=>e.$router.go(-1))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,r.wg)(),(0,r.iD)("div",I,[(0,r._)("button",{onClick:t[9]||(t[9]=t=>e.$router.push("/profile/edit"))},(0,s.zw)(e.$t("user.PROFILE.EDIT")),1),(0,r._)("button",{onClick:t[10]||(t[10]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))]))])}}}),w=n(3744);const v=(0,w.Z)(g,[["__scopeId","data-v-8f7f2d5c"]]);var f=v},7014:function(e,t,n){"use strict";n.d(t,{Z:function(){return D}});var r=n(6252),a=n(3577),s=n(2262),o=n(9963),i=n(2119),l=n(2047),c=n(8602),u=n(9917);const d=e=>((0,r.dD)("data-v-21d76483"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},S={key:1,class:"info-box success-message"},_={class:"form-items"},E=["disabled","placeholder"],p={key:1,class:"form-info"},T=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),A=["disabled","placeholder"],U={key:3,class:"form-info"},O=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],I={key:2},g=(0,r.Uk)(" - "),w={key:3},v={class:"account"},f={key:4};var N=(0,r.aZ)({props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:N}=(0,s.BK)(t),h=(0,s.qj)({username:"",email:"",password:""}),C=(0,r.Fl)((()=>b(t.action))),D=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),k=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_REGISTRATION_SUCCESS])),z=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_SUCCESS])),P=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.APP_CONFIG])),M=(0,r.Fl)((()=>"register"===t.action&&!P.value.is_registration_enabled)),y=(0,s.iH)(!1);function b(e){switch(e){case"reset-request":case"reset":return"buttons.SUBMIT";default:return`buttons.${t.action.toUpperCase()}`}}function L(){y.value=!0}function G(e){h.password=e}function F(e){switch(e){case"reset":return t.token?d.dispatch(c.YN.ACTIONS.RESET_USER_PASSWORD,{password:h.password,token:t.token}):d.commit(c.SY.MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return d.dispatch(c.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:h.email});case"account-confirmation-resend":return d.dispatch(c.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,{email:h.email});default:d.dispatch(c.YN.ACTIONS.LOGIN_OR_REGISTER,{actionType:e,formData:h,redirectUrl:n.query.from})}}function W(){h.username="",h.email="",h.password=""}return(0,r.YP)((()=>n.path),(async()=>{d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),d.commit(c.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),d.commit(c.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),y.value=!1,W()})),(e,t)=>{const n=(0,r.up)("AlertMessage"),i=(0,r.up)("router-link"),c=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",{id:"user-auth-form",class:(0,a.C_)(`${["reset","reset-request"].includes((0,s.SU)(N))?(0,s.SU)(N):"user-form"}`)},[(0,r._)("div",m,[(0,r._)("div",{class:(0,a.C_)(["form-box",{disabled:(0,s.SU)(M)}])},[(0,s.SU)(M)?((0,r.wg)(),(0,r.j4)(n,{key:0,message:"user.REGISTER_DISABLED"})):(0,r.kq)("",!0),(0,s.SU)(z)||(0,s.SU)(k)?((0,r.wg)(),(0,r.iD)("div",S,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,s.SU)(k)?"REGISTRATION":"UPDATE"))),1)):(0,r.kq)("",!0),(0,r._)("form",{class:(0,a.C_)({errors:y.value}),onSubmit:t[2]||(t[2]=(0,o.iM)((e=>F((0,s.SU)(N))),["prevent"]))},[(0,r._)("div",_,["register"===(0,s.SU)(N)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:0,id:"username",disabled:(0,s.SU)(M),required:"",pattern:"[a-zA-Z0-9_]+",minlength:"3",maxlength:"30",onInvalid:L,"onUpdate:modelValue":t[0]||(t[0]=e=>(0,s.SU)(h).username=e),placeholder:e.$t("user.USERNAME")},null,40,E)),[[o.nr,(0,s.SU)(h).username]]):(0,r.kq)("",!0),"register"===(0,s.SU)(N)?((0,r.wg)(),(0,r.iD)("div",p,[T,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.USERNAME_INFO")),1)])):(0,r.kq)("",!0),"reset"!==(0,s.SU)(N)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:2,id:"email",disabled:(0,s.SU)(M),required:"",onInvalid:L,type:"email","onUpdate:modelValue":t[1]||(t[1]=e=>(0,s.SU)(h).email=e),placeholder:e.$t("user.EMAIL")},null,40,A)),[[o.nr,(0,s.SU)(h).email]]):(0,r.kq)("",!0),["reset-request","register","account-confirmation-resend"].includes((0,s.SU)(N))?((0,r.wg)(),(0,r.iD)("div",U,[O,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.EMAIL_INFO")),1)])):(0,r.kq)("",!0),["account-confirmation-resend","reset-request"].includes((0,s.SU)(N))?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(l.Z,{key:4,disabled:(0,s.SU)(M),required:!0,placeholder:"reset"===(0,s.SU)(N)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:(0,s.SU)(h).password,checkStrength:["reset","register"].includes((0,s.SU)(N)),onUpdatePassword:G,onPasswordError:L},null,8,["disabled","placeholder","password","checkStrength"]))]),(0,r._)("button",{type:"submit",disabled:(0,s.SU)(M)},(0,a.zw)(e.$t((0,s.SU)(C))),9,R)],34),"login"===(0,s.SU)(N)?((0,r.wg)(),(0,r.iD)("div",I,[(0,r.Wm)(i,{class:"links",to:"/register"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.REGISTER")),1)])),_:1}),g,(0,r.Wm)(i,{class:"links",to:"/password-reset/request"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.PASSWORD_FORGOTTEN")),1)])),_:1})])):(0,r.kq)("",!0),"register"===(0,s.SU)(N)?((0,r.wg)(),(0,r.iD)("div",w,[(0,r._)("span",v,(0,a.zw)(e.$t("user.ALREADY_HAVE_ACCOUNT")),1),(0,r.Wm)(i,{class:"links",to:"/login"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.LOGIN")),1)])),_:1})])):(0,r.kq)("",!0),["login","register"].includes((0,s.SU)(N))?((0,r.wg)(),(0,r.iD)("div",f,[(0,r.Wm)(i,{class:"links",to:"/account-confirmation/resend"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.ACCOUNT_CONFIRMATION_NOT_RECEIVED")),1)])),_:1})])):(0,r.kq)("",!0),(0,s.SU)(D)?((0,r.wg)(),(0,r.j4)(c,{key:5,message:(0,s.SU)(D)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),h=n(3744);const C=(0,h.Z)(N,[["__scopeId","data-v-21d76483"]]);var D=C},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});var r=n(6252),a=n(2262),s=n(2024);const o={class:"user-picture"},i=["alt","src"],l={key:1,class:"no-picture"},c=(0,r._)("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),u=[c];var d=(0,r.aZ)({props:{user:null},setup(e){const t=e,n=(0,r.Fl)((()=>t.user.picture?`${(0,s.k)()}users/${t.user.username}/picture?${Date.now()}`:""));return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[""!==(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:(0,a.SU)(n)},null,8,i)):((0,r.wg)(),(0,r.iD)("div",l,u))]))}});const m=d;var S=m},5630:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577);const s={class:"no-workouts box"};function o(e,t){const n=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("div",null,[(0,r.Uk)((0,a.zw)(e.$t("workouts.NO_WORKOUTS"))+" ",1),(0,r.Wm)(n,{to:"/workouts/add"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)])),_:1})])])}var i=n(3744);const l={},c=(0,i.Z)(l,[["render",o],["__scopeId","data-v-4b4d15fb"]]);var u=c},4612:function(e,t,n){var r={"./en/en.ts":9350,"./fr/fr.ts":1079};function a(e){var t=s(e);return n(t)}function s(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=s,e.exports=a,a.id=4612}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}n.m=e,function(){var e=[];n.O=function(t,r,a,s){if(!r){var o=1/0;for(u=0;u=s)&&Object.keys(n.O).every((function(e){return n.O[e](r[l])}))?r.splice(l--,1):(i=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[r,a,s]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"===typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"===typeof r.then)return r}var s=Object.create(null);n.r(s);var o={};e=e||[null,t({}),t([]),t(t)];for(var i=2&a&&r;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){o[e]=function(){return r[e]}}));return o["default"]=function(){return r},n.d(s,o),s}}(),function(){n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))}}(),function(){n.u=function(e){return"static/js/"+({24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile",881:"password"}[e]||e)+"."+{24:"30b1815a",93:"6f43c046",193:"cbaa146a",243:"1c009238",328:"5ec56937",401:"6b03864e",431:"2dd6d03a",633:"05b59575",845:"38438c89",858:"3eeaffeb",881:"23cdd304"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"91fe968e",328:"73df498d",401:"66f98dac",845:"203e78e2"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="fittrackee_client:";n.l=function(r,a,s,o){if(e[r])e[r].push(a);else{var i,l;if(void 0!==s)for(var c=document.getElementsByTagName("script"),u=0;u{const t=s.Z.getters[o.YN.GETTERS.AUTH_TOKEN];if(t){const n=`Bearer ${t}`;e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization=`Bearer ${t}`)}return e}),(e=>Promise.reject(e))),t["Z"]=l},2540:function(e,t,n){"use strict";var r=n(3324);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){const a=r[1];t[a]=e(n).default}})),t}t["Z"]=(0,r.o)({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:a()})},9350:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return _}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contact the administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee is a self-hosted outdoor activity tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["under ",n(r(0))," license "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Source code"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activate account"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},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:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Administrator email for contact"])},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"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["no contact email"])},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."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to reset ",n(r(0))," password?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Current email"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["New email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The password has been reset."])},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."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset password"])},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)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Update email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The email address has been updated."])},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"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["account status"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},s={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."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["The new email must be different than curent email"])},"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."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Sorry, that username is already taken."])},"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."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["A valid email must be provided for admininstrator contact"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},o={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Resend confirmation email"])},BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESET:e=>{const{normalize:t}=e;return t(["Reset"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["about"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},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"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},c={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 to have encountered some issues.
Please try again 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"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Something went wrong"])}},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"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Snowshoes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},d={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"])}}},m={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Didn't received instructions?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Check your email. A new confirmation email has been sent to the address provided."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Current password"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Enter a valid email address."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filter on username"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["hide 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"])},LOG_IN:e=>{const{normalize:t}=e;return t(["log in"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["New password"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["No users found."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["At least 8 characters required."])},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_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["weak"])},AVERAGE:e=>{const{normalize:t}=e;return t(["average"])},GOOD:e=>{const{normalize:t}=e;return t(["good"])},STRONG:e=>{const{normalize:t}=e;return t(["strong"])},LABEL:e=>{const{normalize:t}=e;return t(["password strength"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Avoid predictable letter substitutions like ","@"," for a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Avoid reversed spellings of common words."])},allUppercase:e=>{const{normalize:t}=e;return t(["Capitalize some, but not all letters."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalize more than the first letter."])},dates:e=>{const{normalize:t}=e;return t(["Avoid dates and years that are associated with you."])},recentYears:e=>{const{normalize:t}=e;return t(["Avoid recent years."])},associatedYears:e=>{const{normalize:t}=e;return t(["Avoid years that are associated with you."])},sequences:e=>{const{normalize:t}=e;return t(["Avoid common character sequences."])},repeated:e=>{const{normalize:t}=e;return t(["Avoid repeated words and characters."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Use longer keyboard patterns and change typing direction multiple times."])},anotherWord:e=>{const{normalize:t}=e;return t(["Add more words that are less common."])},useWords:e=>{const{normalize:t}=e;return t(["Use multiple words, but avoid common phrases."])},noNeed:e=>{const{normalize:t}=e;return t(["You can create strong passwords without using symbols, numbers, or uppercase letters."])},pwned:e=>{const{normalize:t}=e;return t(["If you use this password elsewhere, you should change it."])}}},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:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Account edition"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Please ",n(r(0))," to change your email address again or contact the administrator"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["account"])},PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully. Please check your email to confirm your new email address."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["A link to activate your account has been emailed to the address provided."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Resend account confirmation email"])},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"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["show password"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["This user account is inactive."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 to 30 characters required, only alphanumeric characters and the underscore character "_" allowed.'])}},S={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farthest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start and finish"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},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"])}},_={about:r,admin:a,api:s,buttons:o,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},1079:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return _}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contacter l'administrateur"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee est un tracker d'activités sportives (en extérieur)."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["sous license ",n(r(0))," (en)"])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Code source (en)"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activer le compte"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},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:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Email de l'administrateur pour contact "])},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) "])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["non renseigné"])},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(["Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur ",n(r(0))," ? Toutes les données seront définitivement."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur ",n(r(0))," ?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Adresse email actuelle"])},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."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Nouvelle adresse email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Le mot de passe a été réinitialisé."])},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."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinit. le mot de passe"])},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)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Changer l'email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["L'adresse email a été mise à jour."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les droits d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les droits 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"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["statut du compte"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},s={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."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["La nouvelle addresse email doit être differente de l'adresse actuelle"])},"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."])},"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 username is already taken":e=>{const{normalize:t}=e;return t(["Désolé, ce nom d'utilisateur est déjà utilisé."])},"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"])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Une adresse email doit être fournie pour le contact de l'administrateur."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},o={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Envoyer à nouveau l'email de confirmation"])},BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},RESET:e=>{const{normalize:t}=e;return t(["Réinit."])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["à propos"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},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"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},c={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"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Une erreur s'est produite"])}},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"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Electrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Raquettes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},d={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"])}}},m={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Vous n'avez pas reçu les instructions ?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Vérifiez votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email fournie."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe actuel"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisir une adresse email valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filtrer sur le nom d'utilisateur"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["masquer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOG_IN:e=>{const{normalize:t}=e;return t(["connecter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Nouveau mot de passe"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Aucun utilisateur trouvé."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["8 caractères minimum."])},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_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["faible"])},AVERAGE:e=>{const{normalize:t}=e;return t(["moyenne"])},GOOD:e=>{const{normalize:t}=e;return t(["bonne"])},STRONG:e=>{const{normalize:t}=e;return t(["forte"])},LABEL:e=>{const{normalize:t}=e;return t(["robustesse du mot de passe "])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Évitez les substitutions de lettres prévisibles comme ","@"," pour a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Évitez les orthographes inversées des mots courants"])},allUppercase:e=>{const{normalize:t}=e;return t(["Mettez quelques lettres en majuscules, mais pas toutes."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalisez mais pas seulement la première lettre."])},dates:e=>{const{normalize:t}=e;return t(["Évitez les dates et les années qui vous sont associées. (ex: date ou année de naissance)"])},recentYears:e=>{const{normalize:t}=e;return t(["Évitez les dernières années."])},associatedYears:e=>{const{normalize:t}=e;return t(["Évitez les années qui vous sont associées. (ex: date de naissance)"])},sequences:e=>{const{normalize:t}=e;return t(["Évitez les séquences de caractères courantes."])},repeated:e=>{const{normalize:t}=e;return t(["Évitez les mots et les caractères répétés."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois."])},anotherWord:e=>{const{normalize:t}=e;return t(["Ajoutez des mots moins courants."])},useWords:e=>{const{normalize:t}=e;return t(["Utilisez plusieurs mots, mais évitez les phrases courantes."])},noNeed:e=>{const{normalize:t}=e;return t(["Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules."])}}},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:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du compte"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Veuillez vous ",n(r(0))," pour changer de nouveau votre adresse email ou contacter l'administrateur"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["compte"])},PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances "])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès. Veuillez vérifier votre boite email pour valider votre nouvelle adresse email."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Un lien pour activer votre compte a été envoyé à l'adresse email fournie."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès."])},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."])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Envoyer à nouveau l'email de confirmation de compte"])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["afficher le mot de passe"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Le compte de cet utilisateur est inactif."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère "_" sont autorisés.'])}},S={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Départ et arrivée"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSO"])},SW:e=>{const{normalize:t}=e;return t(["SO"])},WSW:e=>{const{normalize:t}=e;return t(["OSO"])},W:e=>{const{normalize:t}=e;return t(["O"])},WNW:e=>{const{normalize:t}=e;return t(["ONO"])},NW:e=>{const{normalize:t}=e;return t(["NO"])},NNW:e=>{const{normalize:t}=e;return t(["NNO"])}},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"])}},_={about:r,admin:a,api:s,buttons:o,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},811:function(e,t,n){"use strict";var r=n(3328),a=n(8278),s=n(9963),o=n(2343),i=n(5205);(0,i.z)("/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}});var l=n(6252),c=n(2262),u=n(3577);const d=e=>((0,l.dD)("data-v-2c73279e"),e=e(),(0,l.Cn)(),e),m={id:"footer"},S={class:"footer-items"},_={class:"footer-item"},E=d((()=>(0,l._)("strong",null,"FitTrackee",-1))),p=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),T={class:"footer-item"},A={key:0,class:"footer-item bullet"},U={key:1,class:"footer-item"},O=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),I={class:"footer-item"},g={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"};var w=(0,l.aZ)({props:{version:null,adminContact:null},setup(e){const t=e,{adminContact:n,version:r}=(0,c.BK)(t);return(e,t)=>{const a=(0,l.up)("router-link");return(0,l.wg)(),(0,l.iD)("div",m,[(0,l._)("div",S,[(0,l._)("div",_,[E,(0,l.Uk)(" v"+(0,u.zw)((0,c.SU)(r)),1)]),p,(0,l._)("div",T,[(0,l.Wm)(a,{to:"/about"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("common.ABOUT")),1)])),_:1})]),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",A,"•")):(0,l.kq)("",!0),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",U,[(0,l._)("a",{href:`mailto:${(0,c.SU)(n)}`},(0,u.zw)(e.$t("common.CONTACT")),9,O)])):(0,l.kq)("",!0),R,(0,l._)("div",I,[(0,l._)("a",g,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),v=n(3744);const f=(0,v.Z)(w,[["__scopeId","data-v-2c73279e"]]);var N=f,h=n(3324),C=n(6595),D=n(8602),k=n(9917),z=n(6287);const P=e=>((0,l.dD)("data-v-0d4f0b8f"),e=e(),(0,l.Cn)(),e),M={id:"nav"},y={class:"nav-container"},b={class:"nav-app-name"},L={class:"nav-items-close"},G=P((()=>(0,l._)("div",{class:"app-name"},"FitTrackee",-1))),F={key:0,class:"nav-items-group"},W=P((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),Y={class:"nav-items-user-menu"},x={key:0,class:"nav-items-group"},$={class:"nav-item nav-profile-img"},Z={key:1,class:"nav-items-group"},K=P((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var B=(0,l.aZ)({emits:["menuInteraction"],setup(e,{emit:t}){const{locale:n}=(0,h.QT)(),r=(0,k.o)(),a=(0,l.Fl)((()=>r.getters[D.YN.GETTERS.AUTH_USER_PROFILE])),s=(0,l.Fl)((()=>r.getters[D.YN.GETTERS.IS_AUTHENTICATED])),o=(0,l.Fl)((()=>r.getters[D.SY.GETTERS.LANGUAGE]));let i=(0,c.iH)(!1);function d(){i.value=!0,t("menuInteraction",!0)}function m(){i.value=!1,t("menuInteraction",!1)}function S(e){n.value=e.value.toString(),r.commit(D.SY.MUTATIONS.UPDATE_LANG,e.value)}function _(){r.dispatch(D.YN.ACTIONS.LOGOUT)}return(e,t)=>{const n=(0,l.up)("router-link"),r=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",M,[(0,l._)("div",y,[(0,l._)("div",b,[(0,l._)("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=t=>e.$router.push("/"))}," FitTrackee ")]),(0,l._)("div",{class:(0,u.C_)(["nav-icon-open",{"menu-open":(0,c.SU)(i)}])},[(0,l._)("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=e=>d())})],2),(0,l._)("div",{class:(0,u.C_)(["nav-items",{"menu-open":(0,c.SU)(i)}])},[(0,l._)("div",L,[G,(0,l._)("i",{class:(0,u.C_)(["fa fa-close close-icon nav-item",{"menu-closed":!(0,c.SU)(i)}]),onClick:t[2]||(t[2]=e=>m())},null,2)]),(0,l._)("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=e=>m())},[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",F,[(0,l.Wm)(n,{class:"nav-item",to:"/"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("dashboard.DASHBOARD")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,u.kC)(e.$t("workouts.WORKOUT",2))),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/statistics"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("statistics.STATISTICS")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts/add"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("workouts.ADD_WORKOUT")),1)])),_:1}),(0,c.SU)(s)&&(0,c.SU)(a).admin?((0,l.wg)(),(0,l.j4)(n,{key:0,class:"nav-item",to:"/admin"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("admin.ADMIN")),1)])),_:1})):(0,l.kq)("",!0),W])):(0,l.kq)("",!0)]),(0,l._)("div",Y,[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",x,[(0,l._)("div",$,[(0,l.Wm)(C.Z,{user:(0,c.SU)(a)},null,8,["user"])]),(0,l.Wm)(n,{class:"nav-item",to:"/profile",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a).username),1)])),_:1}),(0,l._)("div",{class:"nav-item nav-link",onClick:_},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",Z,[(0,l.Wm)(n,{class:"nav-item",to:"/login",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.LOGIN")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/register",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.REGISTER")),1)])),_:1})])),(0,c.SU)(z.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(r,{key:2,class:"nav-item",options:(0,c.SU)(z.mT),selected:(0,c.SU)(o),onSelected:S},{default:(0,l.w5)((()=>[K])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const H=(0,v.Z)(B,[["__scopeId","data-v-0d4f0b8f"]]);var q=H,j=n(7167);const V={id:"no-config"},X={class:"error-page"},J={class:"error-img"},Q=["innerHTML"];var ee=(0,l.aZ)({setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("div",V,[(0,l._)("div",X,[(0,l._)("div",J,[(0,l.Wm)(j.Z)]),(0,l._)("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,Q)])]))}});const te=(0,v.Z)(ee,[["__scopeId","data-v-47759238"]]);var ne=te;const re=(0,l._)("div",{id:"top"},null,-1),ae={key:0,class:"app-container"},se={class:"app-loading"},oe={class:"container scroll"},ie=(0,l._)("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),le=[ie];var ce=(0,l.aZ)({setup(e){const t=(0,k.o)(),n=(0,l.Fl)((()=>t.getters[D.SY.GETTERS.APP_CONFIG])),r=(0,l.Fl)((()=>t.getters[D.SY.GETTERS.APP_LOADING])),a=(0,c.iH)(!1),s=(0,c.iH)(!1);function o(e){a.value=e}function i(e){return e.getBoundingClientRect().top=0}function d(){window.onscroll=()=>{let e=document.querySelector("#bottom");s.value=null!==e&&i(e)}}function m(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((()=>{s.value=!1}),300)}return(0,l.wF)((()=>t.dispatch(D.SY.ACTIONS.GET_APPLICATION_CONFIG))),(0,l.bv)((()=>d())),(e,t)=>{const i=(0,l.up)("Loader"),d=(0,l.up)("router-view");return(0,l.wg)(),(0,l.iD)(l.HY,null,[re,(0,l.Wm)(q,{onMenuInteraction:o}),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("div",ae,[(0,l._)("div",se,[(0,l.Wm)(i)])])):((0,l.wg)(),(0,l.iD)("div",{key:1,class:(0,u.C_)(["app-container",{"hide-scroll":a.value}])},[(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(d,{key:0})):((0,l.wg)(),(0,l.j4)(ne,{key:1}))],2)),(0,l._)("div",oe,[(0,l._)("div",{class:(0,u.C_)(["scroll-button",{"display-button":s.value}]),onClick:m},le,2)]),(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(N,{key:2,version:(0,c.SU)(n)?(0,c.SU)(n).version:"",adminContact:(0,c.SU)(n).admin_contact},null,8,["version","adminContact"])):(0,l.kq)("",!0)],64)}}});const ue=ce;var de=ue,me=n(2540),Se=n(6448),_e=n(12);const Ee={class:"alert-message"},pe=["innerHTML"];var Te=(0,l.aZ)({props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Ee,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,pe)]))}});const Ae=(0,v.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ue=Ae,Oe=n(2531);const Re={class:"custom-textarea"},Ie=["id","name","maxLenght","disabled"],ge={class:"remaining-chars"};var we=(0,l.aZ)({props:{name:null,charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e;let r=(0,c.iH)("");function a(e){t("updateValue",e.target.value)}return(0,l.YP)((()=>n.input),(e=>{r.value=e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Re,[(0,l.wy)((0,l._)("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=e=>(0,c.dq)(r)?r.value=e:r=e),onInput:a},null,40,Ie),[[s.nr,(0,c.SU)(r)]]),(0,l._)("div",ge,(0,u.zw)(t.$t("workouts.REMAINING_CHARS"))+": "+(0,u.zw)((0,c.SU)(r).length)+"/"+(0,u.zw)(e.charLimit),1)]))}});const ve=(0,v.Z)(we,[["__scopeId","data-v-3ec2aca2"]]);var fe=ve,Ne=n(3649);const he=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var Ce=(0,l.aZ)({props:{distance:null,unitFrom:null,useImperialUnits:{type:Boolean},digits:{default:2},displayUnit:{type:Boolean,default:!0},speed:{type:Boolean,default:!1},strong:{type:Boolean,default:!1}},setup(e){const t=e,{digits:n,displayUnit:r,distance:a,speed:s,strong:o,unitFrom:i,useImperialUnits:d}=(0,c.BK)(t),m=(0,l.Fl)((()=>d.value?Ne.Dl[i.value].defaultTarget:i.value)),S=(0,l.Fl)((()=>d.value?(0,Ne.sC)(a.value,i.value,m.value,n.value):parseFloat(a.value.toFixed(n.value))));return(e,t)=>((0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l._)("span",{class:(0,u.C_)(["distance",{strong:(0,c.SU)(o)}])},(0,u.zw)((0,c.SU)(S)),3),he,(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("span",{key:0,class:(0,u.C_)(["unit",{strong:(0,c.SU)(o)}])},(0,u.zw)((0,c.SU)(m))+(0,u.zw)((0,c.SU)(s)?"/h":""),3)):(0,l.kq)("",!0)],64))}});const De=(0,v.Z)(Ce,[["__scopeId","data-v-f46ff1d6"]]);var ke=De,ze=n(2119);const Pe={class:"dropdown-wrapper"},Me={key:0,class:"dropdown-list"},ye=["onClick"];var be=(0,l.aZ)({props:{options:null,selected:null},emits:{selected:e=>e},setup(e,{emit:t}){const n=e,r=(0,ze.yj)();let a=(0,c.iH)(!1),s=n.options.map((e=>e));function o(){a.value=!a.value}function i(e){t("selected",e),a.value=!1}return(0,l.YP)((()=>r.path),(()=>a.value=!1)),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Pe,[(0,l._)("div",{class:"dropdown-selected",onClick:o},[(0,l.WI)(t.$slots,"default")]),(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("ul",Me,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(s),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{class:(0,u.C_)(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:e=>i(t)},(0,u.zw)(t.label),11,ye)))),128))])):(0,l.kq)("",!0)]))}});const Le=(0,v.Z)(be,[["__scopeId","data-v-ca61364c"]]);var Ge=Le;const Fe={class:"error-message"},We={key:0},Ye={key:1};var xe=(0,l.aZ)({props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Fe,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",We,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(n),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{key:n},(0,u.zw)(e.$t(t)),1)))),128))])):((0,l.wg)(),(0,l.iD)("div",Ye,(0,u.zw)(e.$t((0,c.SU)(n))),1))]))}});const $e=(0,v.Z)(xe,[["__scopeId","data-v-2659a79a"]]);var Ze=$e;const Ke={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"},Be=(0,l._)("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),He=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),qe=[Be,He];function je(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Ke,qe)}var Ve={name:"CyclingSport"};const Xe=(0,v.Z)(Ve,[["render",je]]);var Je=Xe;const Qe={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"},et=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),tt=(0,l._)("g",{id:"g147"},[(0,l._)("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"}),(0,l._)("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),nt=[et,tt];function rt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Qe,nt)}var at={name:"CyclingTransport"};const st=(0,v.Z)(at,[["render",rt]]);var ot=st;const it={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"},lt=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),ct=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),ut=[lt,ct];function dt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",it,ut)}var mt={name:"Hiking"};const St=(0,v.Z)(mt,[["render",dt]]);var _t=St;const Et={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"},pt=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Tt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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"}),(0,l._)("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),At=[pt,Tt];function Ut(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Et,At)}var Ot={name:"MountainBiking"};const Rt=(0,v.Z)(Ot,[["render",Ut]]);var It=Rt;const gt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},wt=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),vt=[wt];function ft(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",gt,vt)}var Nt={name:"MountainBikingElectric"};const ht=(0,v.Z)(Nt,[["render",ft]]);var Ct=ht;const Dt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},kt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),zt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),(0,l._)("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),Pt=[kt,zt];function Mt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Dt,Pt)}var yt={name:"Rowing"};const bt=(0,v.Z)(yt,[["render",Mt]]);var Lt=bt;const Gt={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"},Ft=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Wt=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),Yt=[Ft,Wt];function xt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Gt,Yt)}var $t={name:"Running"};const Zt=(0,v.Z)($t,[["render",xt]]);var Kt=Zt;const Bt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Ht=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),qt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),(0,l._)("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),jt=[Ht,qt];function Vt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Bt,jt)}var Xt={name:"SkiingAlpine"};const Jt=(0,v.Z)(Xt,[["render",Vt]]);var Qt=Jt;const en={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},tn=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),nn=(0,l._)("g",null,[(0,l._)("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),rn=[tn,nn];function an(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",en,rn)}var sn={name:"SkiingCrossCountry"};const on=(0,v.Z)(sn,[["render",an]]);var ln=on;const cn={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"},un=(0,l.uE)('silhouette of a person with snowshoes',6),dn=[un];function mn(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",cn,dn)}var Sn={name:"Snowshoes"};const _n=(0,v.Z)(Sn,[["render",mn]]);var En=_n;const pn={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},Tn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),An=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),(0,l._)("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),Un=[Tn,An];function On(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",pn,Un)}var Rn={name:"Trail"};const In=(0,v.Z)(Rn,[["render",On]]);var gn=In;const wn={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"},vn=(0,l.uE)('silhouette of a walking person',3),fn=[vn];function Nn(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",wn,fn)}var hn={name:"Walking"};const Cn=(0,v.Z)(hn,[["render",Nn]]);var Dn=Cn;const kn=["title"];var zn=(0,l.aZ)({props:{sportLabel:null,color:null,title:{default:""}},setup(e){const t=e,{color:n,sportLabel:r,title:a}=(0,c.BK)(t),s=(0,l.f3)("sportColors");return(e,t)=>((0,l.wg)(),(0,l.iD)("div",{class:"sport-img",style:(0,u.j5)({fill:(0,c.SU)(n)?(0,c.SU)(n):(0,c.SU)(s)[(0,c.SU)(r)]}),title:(0,c.SU)(a)?(0,c.SU)(a):e.$t(`sports.${(0,c.SU)(r)}.LABEL`)},["Cycling (Sport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Je,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ot,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(_t,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(It,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Ct,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Lt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Kt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Qt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ln,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(gn,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Dn,{key:11})):(0,l.kq)("",!0)],12,kn))}});const Pn=zn;var Mn=Pn;const yn={class:"loader"};function bn(e,t){return(0,l.wg)(),(0,l.iD)("div",yn)}const Ln={},Gn=(0,v.Z)(Ln,[["render",bn],["__scopeId","data-v-4c9921ee"]]);var Fn=Gn;const Wn={id:"modal"},Yn={class:"custom-modal"},xn={key:0,class:"modal-message"},$n={key:1,class:"modal-message"},Zn={class:"modal-buttons"};var Kn=(0,l.aZ)({props:{title:null,message:null,strongMessage:{default:()=>null}},emits:["cancelAction","confirmAction"],setup(e,{emit:t}){const n=e,r=(0,k.o)(),{title:a,message:s,strongMessage:o}=(0,c.BK)(n),i=(0,l.Fl)((()=>r.getters[D.SY.GETTERS.ERROR_MESSAGES]));return(0,l.Ah)((()=>r.commit(D.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,n)=>{const r=(0,l.up)("i18n-t"),d=(0,l.up)("ErrorMessage"),m=(0,l.up)("Card");return(0,l.wg)(),(0,l.iD)("div",Wn,[(0,l._)("div",Yn,[(0,l.Wm)(m,null,{title:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a)),1)])),content:(0,l.w5)((()=>[(0,c.SU)(o)?((0,l.wg)(),(0,l.iD)("div",xn,[(0,l.Wm)(r,{keypath:(0,c.SU)(s)},{default:(0,l.w5)((()=>[(0,l._)("span",null,(0,u.zw)((0,c.SU)(o)),1)])),_:1},8,["keypath"])])):((0,l.wg)(),(0,l.iD)("div",$n,(0,u.zw)((0,c.SU)(s)),1)),(0,c.SU)(i)?((0,l.wg)(),(0,l.j4)(d,{key:2,message:(0,c.SU)(i)},null,8,["message"])):(0,l.kq)("",!0),(0,l._)("div",Zn,[(0,c.SU)(i)?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("button",{key:0,class:"confirm",onClick:n[0]||(n[0]=e=>t("confirmAction"))},(0,u.zw)(e.$t("buttons.YES")),1)),(0,l._)("button",{class:"cancel",onClick:n[1]||(n[1]=e=>t("cancelAction"))},(0,u.zw)(e.$t("buttons."+((0,c.SU)(i)?"CANCEL":"NO"))),1)])])),_:1})])])}}});const Bn=(0,v.Z)(Kn,[["__scopeId","data-v-e8fcfaba"]]);var Hn=Bn;const qn=[{target:Ue,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:fe,name:"CustomTextArea"},{target:ke,name:"Distance"},{target:Ge,name:"Dropdown"},{target:Ze,name:"ErrorMessage"},{target:Fn,name:"Loader"},{target:Hn,name:"Modal"},{target:Mn,name:"SportImage"}],jn={mounted:(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)}};var Vn=n(631);r.kL.register(r.ZL,r.jn,r.od,r.De,r.Dx,r.u,r.Gu,r.vn,r.uw,r.ST,r.f$,a.Z);const Xn=(0,s.ri)(de).provide("sportColors",Vn.Zo).use(me.Z).use(_e.Z).use(Se.Z).use(o.ZP,{name:"VFullscreen"}).directive("click-outside",jn);qn.forEach((e=>{Xn.component(e.name,e.target)})),Xn.mount("#app")},6448:function(e,t,n){"use strict";n.d(t,{Z:function(){return ni}});var r=n(2119),a=n(6252),s=n(3577),o=n(9963),i=n(2262),l=n(8602),c=n(9917),u=n(8966);const d=e=>((0,a.dD)("data-v-24ec93e2"),e=e(),(0,a.Cn)(),e),m={id:"admin-app",class:"admin-card"},S=["onSubmit"],_={for:"admin_contact"},E=["value"],p=["disabled"],T={for:"max_users"},A=["disabled"],U={class:"user-limit-help"},O={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),I={for:"max_single_file_size"},g=["disabled"],w={for:"max_zip_file_size"},v=["disabled"],f={for:"gpx_limit_import"},N=["disabled"],h={key:1,class:"form-buttons"},C={class:"confirm",type:"submit"},D=["onClick"],k={key:2,class:"form-buttons"};var z=(0,a.aZ)({props:{appConfig:null,edition:{type:Boolean,default:!1}},setup(e){const t=e,{edition:n}=(0,i.BK)(t),d=(0,c.o)(),z=(0,r.tv)(),P=(0,i.qj)({admin_contact:"",max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),M=(0,a.Fl)((()=>d.getters[l.SY.GETTERS.ERROR_MESSAGES]));function y(e){Object.keys(P).map((t=>{["max_single_file_size","max_zip_file_size"].includes(t)?P[t]=(0,u.j)(e[t]):P[t]=e[t]}))}function b(){y(t.appConfig),d.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),z.push("/admin/application")}function L(){const e=Object.assign({},P);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,d.dispatch(l.SY.ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return(0,a.wF)((()=>{t.appConfig&&y(t.appConfig)})),(e,t)=>{const r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",m,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("form",{class:"admin-form",onSubmit:(0,o.iM)(L,["prevent"])},[(0,a._)("label",_,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.ADMIN_CONTACT"))+": ",1),(0,i.SU)(n)||(0,i.SU)(P).admin_contact?(0,a.wy)(((0,a.wg)(),(0,a.iD)("input",{key:1,id:"admin_contact",name:"admin_contact",type:"email","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(P).admin_contact=e),disabled:!(0,i.SU)(n)},null,8,p)),[[o.nr,(0,i.SU)(P).admin_contact]]):((0,a.wg)(),(0,a.iD)("input",{key:0,class:"no-contact",value:e.$t("admin.APP_CONFIG.NO_CONTACT_EMAIL"),disabled:""},null,8,E))]),(0,a._)("label",T,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(P).max_users=e),disabled:!(0,i.SU)(n)},null,8,A),[[o.nr,(0,i.SU)(P).max_users]])]),(0,a._)("div",U,[(0,a._)("span",O,[R,(0,a.Uk)(" "+(0,s.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",I,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(P).max_single_file_size=e),disabled:!(0,i.SU)(n)},null,8,g),[[o.nr,(0,i.SU)(P).max_single_file_size]])]),(0,a._)("label",w,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=e=>(0,i.SU)(P).max_zip_file_size=e),disabled:!(0,i.SU)(n)},null,8,v),[[o.nr,(0,i.SU)(P).max_zip_file_size]])]),(0,a._)("label",f,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=e=>(0,i.SU)(P).gpx_limit_import=e),disabled:!(0,i.SU)(n)},null,8,N),[[o.nr,(0,i.SU)(P).gpx_limit_import]])]),(0,i.SU)(M)?((0,a.wg)(),(0,a.j4)(r,{key:0,message:(0,i.SU)(M)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(n)?((0,a.wg)(),(0,a.iD)("div",h,[(0,a._)("button",C,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:(0,o.iM)(b,["prevent"])},(0,s.zw)(e.$t("buttons.CANCEL")),9,D)])):((0,a.wg)(),(0,a.iD)("div",k,[(0,a._)("button",{class:"confirm",onClick:t[5]||(t[5]=(0,o.iM)((t=>e.$router.push("/admin/application/edit")),["prevent"]))},(0,s.zw)(e.$t("buttons.EDIT")),1),(0,a._)("button",{class:"cancel",onClick:t[6]||(t[6]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))],40,S)])),_:1})])}}}),P=n(3744);const M=(0,P.Z)(z,[["__scopeId","data-v-24ec93e2"]]);var y=M;const b={class:"stat-card"},L={class:"stat-content box"},G={class:"stat-icon"},F={class:"stat-details"},W={class:"stat-huge"},Y={class:"stat"};var x=(0,a.aZ)({props:{icon:null,text:null,value:null},setup(e){const t=e,{icon:n,text:r,value:o}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",b,[(0,a._)("div",L,[(0,a._)("div",G,[(0,a._)("i",{class:(0,s.C_)(["fa",`fa-${(0,i.SU)(n)}`])},null,2)]),(0,a._)("div",F,[(0,a._)("div",W,(0,s.zw)((0,i.SU)(o)),1),(0,a._)("div",Y,(0,s.zw)((0,i.SU)(r)),1)])])]))}});const $=x;var Z=$;const K={id:"user-stats"};var B=(0,a.aZ)({props:{appStatistics:null},setup(e){const t=e,{appStatistics:n}=(0,i.BK)(t),r=(0,a.Fl)((()=>(0,u.Z)(n.value.uploads_dir_size,!1)));return(e,t)=>((0,a.wg)(),(0,a.iD)("div",K,[(0,a.Wm)(Z,{icon:"users",value:(0,i.SU)(n).users,text:e.$t("admin.USER",(0,i.SU)(n).users)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"tags",value:(0,i.SU)(n).sports,text:e.$t("workouts.SPORT",(0,i.SU)(n).sports)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"calendar",value:(0,i.SU)(n).workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(n).workouts)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=B;var q=H,j=n(2531);const V=e=>((0,a.dD)("data-v-1bcb269a"),e=e(),(0,a.Cn)(),e),X={id:"admin-menu",class:"center-card"},J={class:"admin-menu description-list"},Q=V((()=>(0,a._)("br",null,null,-1))),ee={class:"registration-status"};var te=(0,a.aZ)({props:{appConfig:null,appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",X,[(0,a.Wm)(j.Z,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.ADMINISTRATION")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(q,{appStatistics:(0,i.SU)(r)},null,8,["appStatistics"]),(0,a._)("div",J,[(0,a._)("dl",null,[(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/application"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.APPLICATION")),1)])),_:1})]),(0,a._)("dd",null,[(0,a.Uk)((0,s.zw)(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Q,(0,a._)("span",ee,(0,s.zw)(e.$t("admin.REGISTRATION_"+((0,i.SU)(n).is_registration_enabled?"ENABLED":"DISABLED"))),1)]),(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/sports"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("workouts.SPORT",0))),1)])),_:1})]),(0,a._)("dd",null,(0,s.zw)(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/users"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("admin.USER",0))),1)])),_:1})]),(0,a._)("dd",null,(0,s.zw)(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])])),_:1})])}}});const ne=(0,P.Z)(te,[["__scopeId","data-v-1bcb269a"]]);var re=ne,ae=n(3324),se=n(631);const oe=e=>((0,a.dD)("data-v-6d62af67"),e=e(),(0,a.Cn)(),e),ie={id:"admin-sports",class:"admin-card"},le={class:"responsive-table"},ce=oe((()=>(0,a._)("th",null,"#",-1))),ue={class:"text-left"},de={class:"text-left sport-action"},me=oe((()=>(0,a._)("th",null,null,-1))),Se={class:"text-center"},_e=oe((()=>(0,a._)("span",{class:"cell-heading"},"id",-1))),Ee={class:"cell-heading"},pe={class:"sport-label"},Te={class:"cell-heading"},Ae={class:"text-center"},Ue={class:"cell-heading"},Oe={class:"sport-action"},Re={class:"cell-heading"},Ie={class:"action-button"},ge=["onClick"],we={key:0,class:"has-workouts"},ve=oe((()=>(0,a._)("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)));var fe=(0,a.aZ)({setup(e){const{t:t}=(0,ae.QT)(),n=(0,c.o)(),r=(0,a.Fl)((()=>(0,se.xH)(n.getters[l.O8.GETTERS.SPORTS],t))),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(e,t){n.dispatch(l.O8.ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return(e,t)=>{const n=(0,a.up)("SportImage"),l=(0,a.up)("ErrorMessage"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",ie,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.SPORTS.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a._)("div",le,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[ce,(0,a._)("th",null,(0,s.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a._)("th",ue,(0,s.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("th",de,(0,s.zw)(e.$t("admin.ACTION")),1),me])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",Se,[_e,(0,a.Uk)(" "+(0,s.zw)(t.id),1)]),(0,a._)("td",null,[(0,a._)("span",Ee,(0,s.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a.Wm)(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),(0,a._)("td",pe,[(0,a._)("span",Te,(0,s.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a.Uk)(" "+(0,s.zw)(t.translatedLabel),1)]),(0,a._)("td",Ae,[(0,a._)("span",Ue,(0,s.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("i",{class:(0,s.C_)("fa fa"+(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),(0,a._)("td",Oe,[(0,a._)("span",Re,(0,s.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",Ie,[(0,a._)("button",{class:(0,s.C_)({danger:t.is_active}),onClick:e=>d(t.id,!t.is_active)},(0,s.zw)(e.$t(`buttons.${t.is_active?"DIS":"EN"}ABLE`)),11,ge),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",we,[ve,(0,a.Uk)(" "+(0,s.zw)(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):(0,a.kq)("",!0)])])])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)])])),_:1})])}}});const Ne=(0,P.Z)(fe,[["__scopeId","data-v-6d62af67"]]);var he=Ne,Ce=n(4850),De=n(8626),ke=n(6514),ze=n(6595);const Pe={class:"users-filters"},Me={class:"search-username"},ye=["onKeyup","placeholder"];var be=(0,a.aZ)({emits:["filterOnUsername"],setup(e,{emit:t}){const n=(0,r.yj)(),l=(0,i.iH)(n.query.q?n.query.q:"");function c(){""!==l.value&&t("filterOnUsername",l)}function u(){l.value="",t("filterOnUsername",l.value)}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Pe,[(0,a._)("div",Me,[(0,a.wy)((0,a._)("input",{id:"username",name:"username","onUpdate:modelValue":t[0]||(t[0]=e=>l.value=e),onKeyup:(0,o.D2)(c,["enter"]),placeholder:e.$t("user.FILTER_ON_USERNAME")},null,40,ye),[[o.nr,l.value,void 0,{trim:!0}]]),""!==l.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-times","aria-hidden":"true",onClick:u})):(0,a.kq)("",!0)]),(0,a._)("i",{class:(0,s.C_)(["fa fa-search",{"fa-disabled":""===l.value}]),"aria-hidden":"true",onClick:c},null,2)]))}});const Le=(0,P.Z)(be,[["__scopeId","data-v-627a8e91"]]);var Ge=Le,Fe=n(2766),We=n(6558);const Ye=e=>((0,a.dD)("data-v-4735c10f"),e=e(),(0,a.Cn)(),e),xe={id:"admin-users",class:"admin-card"},$e={key:0,class:"no-users"},Ze={key:1,class:"responsive-table"},Ke=Ye((()=>(0,a._)("th",null,"#",-1))),Be={class:"left-text"},He={class:"left-text"},qe={class:"left-text"},je={class:"cell-heading"},Ve={class:"cell-heading"},Xe={class:"cell-heading"},Je={class:"cell-heading"},Qe={class:"text-center"},et={class:"cell-heading"},tt={class:"text-center"},nt={class:"cell-heading"},rt={class:"text-center"},at={class:"cell-heading"},st={class:"text-center"},ot={class:"cell-heading"},it=["disabled","onClick"];var lt=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,r.yj)(),u=(0,r.tv)(),d=["is_active","admin","created_at","username","workouts_count"],m="created_at";let S=(0,i.qj)((0,Fe.pm)(n.query,d,m));const _=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),E=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS])),p=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS_PAGINATION])),T=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.ERROR_MESSAGES]));function A(e){t.dispatch(l.RT.ACTIONS.GET_USERS,e)}function U(e){R("q",e.value)}function O(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){S[e]=t,"per_page"===e&&(S.page=1),u.push({path:"/admin/users",query:S})}return(0,a.wF)((()=>A(S))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{S=(0,Fe.pm)(e,d,m,{query:S}),A(S)})),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",xe,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("admin.USER",0))),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a.Wm)(Ge,{onFilterOnUsername:U}),(0,a.Wm)(De.Z,{sort:(0,i.SU)(Fe.fS),order_by:d,query:(0,i.SU)(S),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(E).length?((0,a.wg)(),(0,a.iD)("div",$e,(0,s.zw)(e.$t("user.NO_USERS_FOUND")),1)):((0,a.wg)(),(0,a.iD)("div",Ze,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[Ke,(0,a._)("th",Be,(0,s.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",He,(0,s.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",qe,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a._)("th",null,(0,s.zw)((0,s.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.ADMIN")),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.ACTION")),1)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(E),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",je,(0,s.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(ze.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Ve,(0,s.zw)(e.$t("user.USERNAME")),1),(0,a.Wm)(n,{to:`/admin/users/${t.username}`},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.username),1)])),_:2},1032,["to"])]),(0,a._)("td",null,[(0,a._)("span",Xe,(0,s.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,s.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",Je,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,s.zw)((0,i.SU)(Ce.Z)((0,i.SU)(We.eB)(t.created_at,(0,i.SU)(_).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",Qe,[(0,a._)("span",et,(0,s.zw)((0,s.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a.Uk)(" "+(0,s.zw)(t.nb_workouts),1)]),(0,a._)("td",tt,[(0,a._)("span",nt,(0,s.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("i",{class:(0,s.C_)(`fa fa${t.is_active?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",rt,[(0,a._)("span",at,(0,s.zw)(e.$t("user.ADMIN")),1),(0,a._)("i",{class:(0,s.C_)(`fa fa${t.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",st,[(0,a._)("span",ot,(0,s.zw)(e.$t("admin.ACTION")),1),(0,a._)("button",{class:(0,s.C_)({danger:t.admin}),disabled:t.username===(0,i.SU)(_).username,onClick:e=>O(t.username,!t.admin)},(0,s.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,it)])])))),128))])]),(0,i.SU)(p).page?((0,a.wg)(),(0,a.j4)(ke.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(p),query:(0,i.SU)(S)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,i.SU)(T)?((0,a.wg)(),(0,a.j4)(r,{key:1,message:(0,i.SU)(T)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))])),_:1})])}}});const ct=(0,P.Z)(lt,[["__scopeId","data-v-4735c10f"]]);var ut=ct,dt=n(2179);const mt={class:"profile-tabs custom-checkboxes-group"},St={class:"profile-tabs-checkboxes custom-checkboxes"},_t=["id","name","checked","disabled","onInput"];var Et=(0,a.aZ)({props:{tabs:null,selectedTab:null,edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:o}=(0,i.BK)(t);function l(e){switch(e){case"ACCOUNT":case"PICTURE":return`/profile/edit/${e.toLocaleLowerCase()}`;case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${e.toLocaleLowerCase()}`;default:case"PROFILE":return"/profile"+(t.edition?"/edit":"")}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",mt,[(0,a._)("div",St,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"profile-tab custom-checkbox",key:t},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:t,name:t,checked:(0,i.SU)(r)===t,disabled:(0,i.SU)(o),onInput:n=>e.$router.push(l(t))},null,40,_t),(0,a._)("span",null,(0,s.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const pt=Et;var Tt=pt;const At={id:"user-profile"},Ut={class:"box"};var Ot=(0,a.aZ)({props:{user:null,tab:null},setup(e){const t=e,{user:n,tab:r}=(0,i.BK)(t),s=["PROFILE","PREFERENCES","SPORTS"];return(e,t)=>{const o=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",At,[(0,a.Wm)(dt.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",Ut,[(0,a.Wm)(Tt,{tabs:s,selectedTab:(0,i.SU)(r),edition:!1},null,8,["selectedTab"]),(0,a.Wm)(o,{user:(0,i.SU)(n)},null,8,["user"])])])}}});const Rt=(0,P.Z)(Ot,[["__scopeId","data-v-e26535e0"]]);var It=Rt,gt=n(4317),wt=n(6287);const vt={id:"user-preferences",class:"description-list"},ft={class:"profile-buttons"};var Nt=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?wt.zK[t.user.language]:wt.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),o=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris"));return(t,l)=>((0,a.wg)(),(0,a.iD)("div",vt,[(0,a._)("dl",null,[(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.LANGUAGE"))+":",1),(0,a._)("dd",null,(0,s.zw)((0,i.SU)(n)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,s.zw)((0,i.SU)(o)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),(0,a._)("dd",null,(0,s.zw)(t.$t(`user.PROFILE.${(0,i.SU)(r)}`)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),(0,a._)("dd",null,(0,s.zw)(t.$t("user.PROFILE.UNITS."+(e.user.imperial_units?"IMPERIAL":"METRIC"))),1)]),(0,a._)("div",ft,[(0,a._)("button",{onClick:l[0]||(l[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,s.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:l[1]||(l[1]=e=>t.$router.push("/"))},(0,s.zw)(t.$t("common.HOME")),1)])]))}});const ht=Nt;var Ct=ht;const Dt={id:"user-profile-edition",class:"center-card"};var kt=(0,a.aZ)({props:{user:null,tab:null},setup(e){const t=e,n=(0,c.o)(),{user:r,tab:o}=(0,i.BK)(t),u=["PROFILE","ACCOUNT","PICTURE","PREFERENCES","SPORTS"],d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING]));return(e,t)=>{const n=(0,a.up)("router-view"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Dt,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t(`user.PROFILE.${(0,i.SU)(o)}_EDITION`)),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Tt,{tabs:u,selectedTab:(0,i.SU)(o),edition:!0,disabled:(0,i.SU)(d)},null,8,["selectedTab","disabled"]),(0,a.Wm)(n,{user:(0,i.SU)(r)},null,8,["user"])])),_:1})])}}});const zt=kt;var Pt=zt,Mt=n(2047);const yt={id:"user-infos-edition"},bt={class:"profile-form form-box"},Lt={key:1,class:"info-box success-message"},Gt=["onSubmit"],Ft={class:"form-items",for:"email"},Wt=["disabled"],Yt={class:"form-items",for:"password-field"},xt={class:"form-items",for:"new-password-field"},$t={class:"form-buttons"},Zt={class:"confirm",type:"submit"};var Kt=(0,a.aZ)({props:{user:null},setup(e){const t=e,{user:n}=(0,i.BK)(t),r=(0,c.o)(),u=(0,i.qj)({email:"",password:"",new_password:""}),d=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),S=(0,i.iH)(!1),_=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.ERROR_MESSAGES])),E=(0,i.iH)(!1),p=(0,i.iH)(!1);function T(){E.value=!0}function A(e){u.email=e.email}function U(e){u.password=e}function O(e){u.new_password=e}function R(){const e={email:u.email,password:u.password};u.new_password&&(e.new_password=u.new_password),S.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function I(e){p.value=e}function g(e){r.dispatch(l.YN.ACTIONS.DELETE_ACCOUNT,{username:e})}return(0,a.bv)((()=>{t.user&&A(t.user)})),(0,a.Ah)((()=>{r.commit(l.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),r.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(0,a.YP)((()=>m.value),(async e=>{e&&(U(""),O(""),A(n.value),E.value=!1)})),(0,a.YP)((()=>n.value.email),(async()=>{A(n.value)})),(e,t)=>{const r=(0,a.up)("Modal"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",yt,[p.value?((0,a.wg)(),(0,a.j4)(r,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=e=>g((0,i.SU)(n).username)),onCancelAction:t[1]||(t[1]=e=>I(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",bt,[(0,i.SU)(_)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(_)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(m)?((0,a.wg)(),(0,a.iD)("div",Lt,(0,s.zw)(e.$t(`user.PROFILE.SUCCESSFUL_${S.value?"EMAIL_":""}UPDATE`)),1)):(0,a.kq)("",!0),(0,a._)("form",{class:(0,s.C_)({errors:E.value}),onSubmit:(0,o.iM)(R,["prevent"])},[(0,a._)("label",Ft,[(0,a.Uk)((0,s.zw)(e.$t("user.EMAIL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(u).email=e),disabled:(0,i.SU)(d),required:!0,onInvalid:T},null,40,Wt),[[o.nr,(0,i.SU)(u).email]])]),(0,a._)("label",Yt,[(0,a.Uk)((0,s.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(Mt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:(0,i.SU)(u).password,required:!0,onUpdatePassword:U,onPasswordError:T},null,8,["disabled","password"])]),(0,a._)("label",xt,[(0,a.Uk)((0,s.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(Mt.Z,{id:"new-password-field",disabled:(0,i.SU)(d),checkStrength:!0,password:(0,i.SU)(u).new_password,isSuccess:!1,onUpdatePassword:O,onPasswordError:T},null,8,["disabled","password"])]),(0,a._)("div",$t,[(0,a._)("button",Zt,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,o.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1),(0,a._)("button",{class:"danger",onClick:t[4]||(t[4]=(0,o.iM)((e=>I(!0)),["prevent"]))},(0,s.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Gt)])])}}});const Bt=(0,P.Z)(Kt,[["__scopeId","data-v-46fcf129"]]);var Ht=Bt;const qt={id:"user-infos-edition"},jt={class:"profile-form form-box"},Vt=["onSubmit"],Xt={class:"form-items",for:"registrationDate"},Jt=["value"],Qt={class:"form-items",for:"first_name"},en=["disabled"],tn={class:"form-items",for:"last_name"},nn={class:"form-items",for:"birth_date"},rn=["disabled"],an={class:"form-items",for:"location"},sn=["disabled"],on={class:"form-items"},ln={class:"form-buttons"},cn={class:"confirm",type:"submit"};var un=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({first_name:"",last_name:"",birth_date:"",location:"",bio:""}),u=(0,a.Fl)((()=>t.user.created_at?(0,Ce.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function S(e){r.first_name=e.first_name?e.first_name:"",r.last_name=e.last_name?e.last_name:"",r.birth_date=e.birth_date?(0,Ce.Z)(new Date(e.birth_date),"yyyy-MM-dd"):"",r.location=e.location?e.location:"",r.bio=e.bio?e.bio:""}function _(e){r.bio=e}function E(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&S(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage"),l=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",qt,[(0,a._)("div",jt,[(0,i.SU)(m)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(m)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,o.iM)(E,["prevent"])},[(0,a._)("label",Xt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),(0,a._)("input",{id:"registrationDate",value:(0,i.SU)(u),disabled:""},null,8,Jt)]),(0,a._)("label",Qt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"first_name","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(r).first_name=e),disabled:(0,i.SU)(d)},null,8,en),[[o.nr,(0,i.SU)(r).first_name]])]),(0,a._)("label",tn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LAST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"last_name","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(r).last_name=e)},null,512),[[o.nr,(0,i.SU)(r).last_name]])]),(0,a._)("label",nn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),(0,a.wy)((0,a._)("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(r).birth_date=e),disabled:(0,i.SU)(d)},null,8,rn),[[o.nr,(0,i.SU)(r).birth_date]])]),(0,a._)("label",an,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LOCATION"))+" ",1),(0,a.wy)((0,a._)("input",{id:"location","onUpdate:modelValue":t[3]||(t[3]=e=>(0,i.SU)(r).location=e),disabled:(0,i.SU)(d)},null,8,sn),[[o.nr,(0,i.SU)(r).location]])]),(0,a._)("label",on,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.BIO"))+" ",1),(0,a.Wm)(l,{name:"bio",charLimit:200,input:(0,i.SU)(r).bio,disabled:(0,i.SU)(d),onUpdateValue:_},null,8,["input","disabled"])]),(0,a._)("div",ln,[(0,a._)("button",cn,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,o.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1)])],40,Vt)])])}}});const dn=(0,P.Z)(un,[["__scopeId","data-v-b6bacea0"]]);var mn=dn;const Sn=e=>((0,a.dD)("data-v-3a97bb3c"),e=e(),(0,a.Cn)(),e),_n={id:"user-picture-edition"},En={class:"user-picture-form"},pn=["onSubmit"],Tn={class:"picture-help"},An={class:"info-box"},Un=Sn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),On={class:"picture-buttons"},Rn=["disabled"];var In=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),S=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"";let _=(0,i.iH)(null);function E(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function p(e){e.target.files&&(_.value=e.target.files[0])}function T(){_.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:_.value})}return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",_n,[(0,a._)("div",En,[(0,i.SU)(d)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(d)},null,8,["message"])):(0,a.kq)("",!0),(0,a.Wm)(ze.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,a._)("form",{onSubmit:(0,o.iM)(T,["prevent"])},[(0,a._)("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:p},null,32),(0,a._)("div",Tn,[(0,a._)("span",An,[Un,(0,a.Uk)(" "+(0,s.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,s.zw)((0,i.SU)(S)),1)])]),(0,a._)("div",On,[(0,a._)("button",{type:"submit",disabled:!(0,i.SU)(_)},(0,s.zw)(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Rn),(0,i.SU)(r).picture?((0,a.wg)(),(0,a.iD)("button",{key:0,class:"danger",onClick:E},(0,s.zw)(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):(0,a.kq)("",!0),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile"))},(0,s.zw)(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,pn)])])}}});const gn=(0,P.Z)(In,[["__scopeId","data-v-3a97bb3c"]]);var wn=gn;const vn=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],fn={id:"tz-dropdown"},Nn=["value","disabled","onKeydown"],hn=["onClick","onMouseover","autofocus"];var Cn=(0,a.aZ)({props:{input:null,disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,{input:r,disabled:l}=(0,i.BK)(n),c=(0,i.iH)(n.input),u=(0,i.iH)(!1),d=(0,i.iH)(null),m=(0,i.iH)(0);function S(e){return e.toLowerCase().match(c.value.toLowerCase())}function _(e){m.value=e}function E(e){c.value=e,u.value=!1,t("updateTimezone",e)}function p(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&E(d.value?.firstElementChild?.innerHTML)}function T(e){e.preventDefault(),u.value=!0,c.value=e.target.value.trim()}return(0,a.YP)((()=>n.input),(e=>{c.value=e})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",fn,[(0,a._)("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:c.value,disabled:(0,i.SU)(l),required:"",onKeydown:[t[0]||(t[0]=(0,o.D2)((e=>E((0,i.SU)(r))),["esc"])),(0,o.D2)(p,["enter"])],onInput:T},null,40,Nn),u.value?((0,a.wg)(),(0,a.iD)("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:d},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(vn).filter((e=>S(e))),((e,t)=>((0,a.wg)(),(0,a.iD)("li",{key:e,class:(0,s.C_)(["tz-dropdown-item",{focus:t===m.value}]),onClick:t=>E(e),onMouseover:e=>_(t),autofocus:t===m.value},(0,s.zw)(e),43,hn)))),128))],512)):(0,a.kq)("",!0)]))}});const Dn=(0,P.Z)(Cn,[["__scopeId","data-v-47ea2903"]]);var kn=Dn;const zn={id:"user-preferences-edition"},Pn={class:"profile-form form-box"},Mn=["onSubmit"],yn={class:"form-items"},bn=["disabled"],Ln=["value"],Gn={class:"form-items"},Fn={class:"form-items"},Wn=["disabled"],Yn=["value"],xn={class:"form-items"},$n=["disabled"],Zn=["value"],Kn={class:"form-buttons"},Bn={class:"confirm",type:"submit"};var Hn=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],d=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],m=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function _(e){r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function E(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function p(e){r.timezone=e}return(0,a.bv)((()=>{t.user&&_(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",zn,[(0,a._)("div",Pn,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,o.iM)(E,["prevent"])},[(0,a._)("label",yn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LANGUAGE"))+" ",1),(0,a.wy)((0,a._)("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(r).language=e),disabled:(0,i.SU)(m)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(wt.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,s.zw)(e.label),9,Ln)))),128))],8,bn),[[o.bM,(0,i.SU)(r).language]])]),(0,a._)("label",Gn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(kn,{input:(0,i.SU)(r).timezone,disabled:(0,i.SU)(m),onUpdateTimezone:p},null,8,["input","disabled"])]),(0,a._)("label",Fn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),(0,a.wy)((0,a._)("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(r).weekm=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,s.zw)(e.$t(`user.PROFILE.${t.label}`)),9,Yn))),64))],8,Wn),[[o.bM,(0,i.SU)(r).weekm]])]),(0,a._)("label",xn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),(0,a.wy)((0,a._)("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(r).imperial_units=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,s.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),9,Zn))),64))],8,$n),[[o.bM,(0,i.SU)(r).imperial_units]])]),(0,a._)("div",Kn,[(0,a._)("button",Bn,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,o.iM)((t=>e.$router.push("/profile/preferences")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1)])],40,Mn)])])}}});const qn=Hn;var jn=qn;const Vn={id:"user-sport-preferences"},Xn={key:0,class:"responsive-table"},Jn={class:"mobile-display"},Qn={key:0,class:"profile-buttons mobile-display"},er={key:1,class:"profile-buttons"},tr={class:"text-left"},nr={key:0},rr={class:"cell-heading"},ar=["value"],sr={class:"cell-heading"},or={key:0,class:"disabled-message"},ir={key:1,class:"fa fa-refresh fa-spin fa-fw"},lr={class:"cell-heading"},cr={class:"cell-heading"},ur=["checked"],dr={class:"cell-heading"},mr=["value"],Sr={key:1},_r={key:0,class:"action-buttons"},Er={class:"cell-heading"},pr=["onClick"],Tr={key:1,class:"edition-buttons"},Ar=["disabled"],Ur=["disabled","onClick"],Or=["disabled"],Rr={key:0,class:"profile-buttons"},Ir={key:1,class:"profile-buttons"};var gr=(0,a.aZ)({props:{user:null,isEdition:{type:Boolean}},setup(e){const t=e,n=(0,c.o)(),{t:r}=(0,ae.QT)(),{isEdition:u,user:d}=(0,i.BK)(t),m=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),_=(0,a.Fl)((()=>(0,se.xH)(S.value,r,"is_active",d.value.sports_list))),E=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),p=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),T=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function A(e){null!==e?(T.sport_id=e.id,T.color=e.color?e.color:m[e.label],T.is_active=e.is_active_for_user,T.stopped_speed_threshold=e.stopped_speed_threshold):g()}function U(e){return T.sport_id===e}function O(e){T.color=e.target.value}function R(e){T.stopped_speed_threshold=parseFloat(e.target.value)}function I(e){T.is_active=e.target.checked}function g(){T.sport_id=0,T.color=null,T.is_active=!0,T.stopped_speed_threshold=1,n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)}function w(e){e.preventDefault(),n.dispatch(l.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,T)}function v(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>E.value),(e=>{e||p.value||g()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Vn,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",Xn,[(0,a._)("div",Jn,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Qn,[(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",er,[(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/edit/sports"))},(0,s.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[2]||(t[2]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))]),(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),(0,a._)("th",tr,(0,s.zw)(e.$t("workouts.SPORT",0)),1),(0,a._)("th",null,(0,s.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("th",nr,(0,s.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1)):(0,a.kq)("",!0)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(_),(o=>((0,a.wg)(),(0,a.iD)("tr",{key:o.id},[(0,a._)("td",null,[(0,a._)("span",rr,(0,s.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),U(o.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:(0,i.SU)(T).color,onInput:O},null,40,ar)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:o.translatedLabel,"sport-label":o.label,color:o.color?o.color:(0,i.SU)(m)[o.label]},null,8,["title","sport-label","color"]))]),(0,a._)("td",{class:(0,s.C_)(["sport-label",{"disabled-sport":!o.is_active}])},[(0,a._)("span",sr,(0,s.zw)(e.$t("user.PROFILE.SPORT.LABEL")),1),(0,a.Uk)(" "+(0,s.zw)(o.translatedLabel)+" ",1),o.is_active?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",or," ("+(0,s.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(E)&&U(o.id)?((0,a.wg)(),(0,a.iD)("i",ir)):(0,a.kq)("",!0),(0,i.SU)(p)&&(0,i.SU)(T).sport_id===o.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(p)},null,8,["message"])):(0,a.kq)("",!0)],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",lr,(0,s.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("i",{class:(0,s.C_)("fa fa"+((0,i.SU)(d).sports_list.includes(o.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",cr,(0,s.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),U(o.id)&&o.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,type:"checkbox",checked:o.is_active_for_user,onChange:I},null,40,ur)):((0,a.wg)(),(0,a.iD)("i",{key:1,class:(0,s.C_)("fa fa"+(o.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",dr,(0,s.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),U(o.id)&&o.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:(0,i.SU)(T).stopped_speed_threshold,onInput:R},null,40,mr)):((0,a.wg)(),(0,a.iD)("span",Sr,(0,s.zw)(o.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",_r,[(0,a._)("span",Er,(0,s.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===(0,i.SU)(T).sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>A(o)},(0,s.zw)(e.$t("buttons.EDIT")),9,pr)):(0,a.kq)("",!0),U(o.id)?((0,a.wg)(),(0,a.iD)("div",Tr,[(0,a._)("button",{disabled:(0,i.SU)(E),onClick:w},(0,s.zw)(e.$t("buttons.SUBMIT")),9,Ar),(0,a._)("button",{disabled:(0,i.SU)(E),onClick:e=>v(e,o.id)},(0,s.zw)(e.$t("buttons.RESET")),9,Ur),(0,a._)("button",{disabled:(0,i.SU)(E),onClick:t[3]||(t[3]=e=>A(null))},(0,s.zw)(e.$t("buttons.CANCEL")),9,Or)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Rr,[(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,o.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ir,[(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/edit/sports"))},(0,s.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[6]||(t[6]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))])):(0,a.kq)("",!0)])}}});const wr=(0,P.Z)(gr,[["__scopeId","data-v-4775544a"]]);var vr=wr,fr=n(12);const Nr=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),hr={class:"about-text"},Cr=["innerHTML"],Dr=Nr((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),kr={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},zr=Nr((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),Pr={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},Mr=Nr((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),yr=Nr((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),br={key:0},Lr=Nr((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),Gr=["href"];var Fr=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.APP_CONFIG]));return(e,t)=>{const r=(0,a.up)("i18n-t");return(0,a.wg)(),(0,a.iD)("div",hr,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,Cr),(0,a._)("p",null,[Dr,(0,a._)("a",kr,(0,s.zw)((0,s.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[zr,(0,a._)("a",Pr,(0,s.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[Mr,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[yr])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",br,[Lr,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,s.zw)(e.$t("about.CONTACT_ADMIN")),9,Gr)])):(0,a.kq)("",!0)])])}}});const Wr=(0,P.Z)(Fr,[["__scopeId","data-v-74257266"]]);var Yr=Wr;const xr={id:"bike"},$r=["src"];function Zr(e,t){return(0,a.wg)(),(0,a.iD)("div",xr,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,$r)])}const Kr={},Br=(0,P.Z)(Kr,[["render",Zr],["__scopeId","data-v-795f7f5f"]]);var Hr=Br;const qr={id:"about",class:"view"},jr={class:"container"},Vr={class:"container-sub"},Xr={class:"container-sub about-details"};var Jr=(0,a.aZ)({setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",qr,[(0,a._)("div",jr,[(0,a._)("div",Vr,[(0,a.Wm)(Hr)]),(0,a._)("div",Xr,[(0,a.Wm)(Yr)])])]))}});const Qr=(0,P.Z)(Jr,[["__scopeId","data-v-bffb50d0"]]);var ea=Qr,ta=n(1818),na=n(2056);const ra=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),aa={class:"timeline-workout"},sa={class:"box"},oa={class:"workout-user-date"},ia={class:"workout-user"},la=["title"],ca={key:0},ua={key:1,class:"no-map"},da={class:"img"},ma={class:"data"},Sa=ra((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),_a={key:0},Ea={class:"data"},pa=ra((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Ta={key:0,class:"data elevation"},Aa=["alt"],Ua={class:"data-values"},Oa=(0,a.Uk)("/ "),Ra={key:1,class:"data altitude"},Ia=ra((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),ga={class:"data-values"},wa=(0,a.Uk)(" +"),va=(0,a.Uk)("/- ");var fa=(0,a.aZ)({props:{user:null,useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=(0,c.o)(),{user:r,workout:o,sport:u,useImperialUnits:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));return(e,t)=>{const n=(0,a.up)("router-link"),l=(0,a.up)("SportImage"),c=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",aa,[(0,a._)("div",sa,[(0,a._)("div",oa,[(0,a._)("div",ia,[(0,a.Wm)(ze.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,i.SU)(r).username?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-user-name",to:{name:"User",params:{username:(0,i.SU)(r).username}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,i.SU)(r).username),1)])),_:1},8,["to"])):(0,a.kq)("",!0)]),(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:(0,i.SU)(o).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,i.SU)(o).title),1)])),_:1},8,["to"])):(0,a.kq)("",!0),(0,i.SU)(o).workout_date&&(0,i.SU)(r)?((0,a.wg)(),(0,a.iD)("div",{key:1,class:"workout-date",title:(0,i.SU)(Ce.Z)((0,i.SU)(We.eB)((0,i.SU)(o).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,s.zw)((0,i.SU)(ta.Z)(new Date((0,i.SU)(o).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,la)):(0,a.kq)("",!0)]),(0,a._)("div",{class:(0,s.C_)(["workout-map",{"no-cursor":!(0,i.SU)(o)}]),onClick:t[0]||(t[0]=t=>(0,i.SU)(o).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(o).id}}):null)},[(0,i.SU)(o)?((0,a.wg)(),(0,a.iD)("div",ca,[(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.j4)(na.Z,{key:0,workout:(0,i.SU)(o)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",ua,(0,s.zw)(e.$t("workouts.NO_MAP")),1))])):(0,a.kq)("",!0)],2),(0,a._)("div",{class:(0,s.C_)(["workout-data",{"without-gpx":(0,i.SU)(o)&&!(0,i.SU)(o).with_gpx}]),onClick:t[1]||(t[1]=t=>(0,i.SU)(o).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(o).id}}):null)},[(0,a._)("div",da,[(0,i.SU)(u).label?((0,a.wg)(),(0,a.j4)(l,{key:0,"sport-label":(0,i.SU)(u).label,color:(0,i.SU)(u).color},null,8,["sport-label","color"])):(0,a.kq)("",!0)]),(0,a._)("div",ma,[Sa,(0,i.SU)(o)?((0,a.wg)(),(0,a.iD)("span",_a,(0,s.zw)((0,i.SU)(o).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Ea,[pa,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).distance,digits:3,unitFrom:"km",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)]),(0,i.SU)(o)&&(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.iD)("div",Ta,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Aa),(0,a._)("div",Ua,[(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),Oa,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(o).max_alt,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),(0,i.SU)(o)&&(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.iD)("div",Ra,[Ia,(0,a._)("div",ga,[wa,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),va,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(o).descent,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0)],2)])])}}});const Na=(0,P.Z)(fa,[["__scopeId","data-v-c9d1f10c"]]);var ha=Na,Ca=n(5630),Da=n(3768);const ka={id:"timeline"},za={class:"section-title"},Pa={key:0},Ma={key:1},ya={key:1,class:"more-workouts"};var ba=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:o}=(0,i.BK)(t);let u=(0,i.iH)(1);const d=5,m=t.user.nb_workouts>=d?d:t.user.nb_workouts;(0,a.wF)((()=>E()));const S=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),_=(0,a.Fl)((()=>S.value.length>0&&null!==S.value[S.value.length-1].previous_workout));function E(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Da.eR})}function p(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Da.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ka,[(0,a._)("div",za,(0,s.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(o).nb_workouts>0&&0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",Pa,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)([...Array((0,i.SU)(m)).keys()],(e=>((0,a.wg)(),(0,a.j4)(ha,{user:(0,i.SU)(o),useImperialUnits:(0,i.SU)(o).imperial_units,key:e},null,8,["user","useImperialUnits"])))),128))])):((0,a.wg)(),(0,a.iD)("div",Ma,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.j4)(ha,{workout:e,sport:(0,i.SU)(S).length>0?(0,i.SU)(r).filter((t=>t.id===e.sport_id))[0]:null,user:(0,i.SU)(o),useImperialUnits:(0,i.SU)(o).imperial_units,key:e.id},null,8,["workout","sport","user","useImperialUnits"])))),128)),0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.j4)(Ca.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",ya,[(0,a._)("button",{onClick:p},(0,s.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const La=(0,P.Z)(ba,[["__scopeId","data-v-9ef2a9ac"]]);var Ga=La,Fa=n(1640),Wa=n(4559),Ya=n(7349),xa=n(1743),$a=n(9160),Za=n(1085);const Ka=["title"];var Ba=(0,a.aZ)({props:{workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{workout:n,sportLabel:r,sportColor:s}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",{class:"calendar-workout",onClick:t[0]||(t[0]=t=>e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(n).id}}))},[(0,a.Wm)(o,{"sport-label":(0,i.SU)(r),title:(0,i.SU)(n).title,color:(0,i.SU)(s)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(n).records.length>0?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:(0,i.SU)(n).records.map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,Ka)):(0,a.kq)("",!0)])])}}});const Ha=Ba;var qa=Ha;const ja={class:"donut-chart"},Va={height:"34",width:"34",viewBox:"0 0 34 34"},Xa=["stroke","stroke-dashoffset","transform"];var Ja=(0,a.aZ)({props:{colors:null,datasets:null},setup(e){const t=e,{colors:n,datasets:r}=(0,i.BK)(t);let s=-90;const o=16,l=16,c=14,u=2*Math.PI*c;function d(e,t){return t-e*t}function m(e,t){const n=`rotate(${s}, ${o}, ${l})`;return s=360*t+s,n}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ja,[((0,a.wg)(),(0,a.iD)("svg",Va,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.entries((0,i.SU)(r)),((e,t)=>((0,a.wg)(),(0,a.iD)("g",{key:t},[(0,a._)("circle",{cx:o,cy:l,r:c,fill:"transparent",stroke:(0,i.SU)(n)[+e[0]],"stroke-dashoffset":d(e[1].percentage,u),"stroke-dasharray":u,"stroke-width":"3","stroke-opacity":"0.8",transform:m(t,e[1].percentage)},null,8,Xa)])))),128))]))]))}});const Qa=Ja;var es=Qa;const ts={class:"calendar-workouts-chart"},ns={class:"workouts-count"},rs={key:0,class:"workouts-pane"},as={class:"more-workouts"};var ss=(0,a.aZ)({props:{colors:null,datasets:null,sports:null,workouts:null},setup(e){const t=e,{colors:n,datasets:r,sports:o,workouts:l}=(0,i.BK)(t),c=(0,i.iH)(!0);function u(e){e.stopPropagation(),c.value=!c.value}return(e,t)=>{const d=(0,a.Q2)("click-outside");return(0,a.wg)(),(0,a.iD)("div",ts,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",ns,(0,s.zw)((0,i.SU)(l).length),1),(0,a.Wm)(es,{datasets:(0,i.SU)(r),colors:(0,i.SU)(n)},null,8,["datasets","colors"])]),c.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",rs,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",as,[(0,a._)("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:u}),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(l),((e,t)=>((0,a.wg)(),(0,a.j4)(qa,{key:t,workout:e,sportLabel:(0,i.SU)(se.PA)(e,(0,i.SU)(o)),sportColor:(0,i.SU)(se.CM)(e,(0,i.SU)(o))},null,8,["workout","sportLabel","sportColor"])))),128))])),[[d,u]])]))])}}});const os=(0,P.Z)(ss,[["__scopeId","data-v-52d4310a"]]);var is=os;const ls={class:"calendar-workouts"},cs={class:"desktop-display"},us={key:0,class:"workouts-display"},ds={key:1,class:"donut-display"},ms={class:"mobile-display"},Ss={key:0,class:"donut-display"};var _s=(0,a.aZ)({props:{workouts:null,sports:null},setup(e){const t=e,{workouts:n,sports:r}=(0,i.BK)(t),s=(0,a.Fl)((()=>(0,Da.BN)(t.workouts))),o=(0,a.Fl)((()=>(0,se.Yx)(t.sports))),l=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ls,[(0,a._)("div",cs,[(0,i.SU)(n).length<=l?((0,a.wg)(),(0,a.iD)("div",us,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).slice(0,l),((e,t)=>((0,a.wg)(),(0,a.j4)(qa,{key:t,workout:e,sportLabel:(0,i.SU)(se.PA)(e,(0,i.SU)(r)),sportColor:(0,i.SU)(se.CM)(e,(0,i.SU)(r))},null,8,["workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",ds,[(0,a.Wm)(is,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(s),colors:(0,i.SU)(o)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",ms,[(0,i.SU)(n).length>0?((0,a.wg)(),(0,a.iD)("div",Ss,[(0,a.Wm)(is,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(s),colors:(0,i.SU)(o)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Es=_s;var ps=Es;const Ts={class:"calendar-cells"},As={class:"calendar-cell-day"};var Us=(0,a.aZ)({props:{currentDay:null,endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,endDate:r,sports:o,startDate:l,timezone:c,weekStartingMonday:u,workouts:d}=(0,i.BK)(t),m=(0,i.iH)([]);function S(){m.value=[];let e=l.value;while(e<=r.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,Ya.Z)(e,1);m.value.push(t)}}function _(e){return u.value?[5,6].includes(e):[0,6].includes(e)}function E(e,t){return t?t.filter((t=>(0,xa.Z)((0,We.eB)(t.workout_date,c.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ts,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(m.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:"calendar-row",key:t},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,s.C_)(["calendar-cell",{"disabled-cell":!(0,i.SU)($a.Z)(e,(0,i.SU)(n)),"week-end":_(t),today:(0,i.SU)(Za.Z)(e)}]),key:t},[(0,a.Wm)(ps,{workouts:E(e,(0,i.SU)(d)),sports:(0,i.SU)(o)},null,8,["workouts","sports"]),(0,a._)("div",As,(0,s.zw)((0,i.SU)(Ce.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const Os=Us;var Rs=Os;const Is={class:"calendar-days"};var gs=(0,a.aZ)({props:{startDate:null,localeOptions:null},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push((0,Ya.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",Is,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(n,((t,n)=>(0,a._)("div",{class:"calendar-day",key:n},(0,s.zw)((0,i.SU)(Ce.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const ws=gs;var vs=ws;const fs={class:"calendar-header"},Ns=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),hs=[Ns],Cs={class:"calendar-month"},Ds=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),ks=[Ds];var zs=(0,a.aZ)({props:{day:null,localeOptions:null},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,{day:r,localeOptions:o}=(0,i.BK)(n);return(e,n)=>((0,a.wg)(),(0,a.iD)("div",fs,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},hs),(0,a._)("div",Cs,[(0,a._)("span",null,(0,s.zw)((0,i.SU)(Ce.Z)((0,i.SU)(r),"MMM yyyy",{locale:(0,i.SU)(o)})),1)]),(0,a._)("div",{class:"calendar-arrow calendar-arrow-right",onClick:n[1]||(n[1]=e=>t("displayNextMonth"))},ks)]))}});const Ps=zs;var Ms=Ps;const ys={id:"user-calendar"},bs={class:"calendar-card box"};var Ls=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:s}=(0,i.BK)(t),o="yyyy-MM-dd";let u=(0,i.iH)(new Date),d=(0,i.iH)((0,We.yx)(u.value,t.user.weekm));const m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function _(){d.value=(0,We.yx)(u.value,t.user.weekm);const e={from:(0,Ce.Z)(d.value.start,o),to:(0,Ce.Z)(d.value.end,o),page:1,per_page:100,...Da.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function E(){u.value=(0,Fa.Z)(u.value,1),_()}function p(){u.value=(0,Wa.Z)(u.value,1),_()}return(0,a.wF)((()=>_())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",ys,[(0,a._)("div",bs,[(0,a.Wm)(Ms,{day:(0,i.SU)(u),"locale-options":(0,i.SU)(S),onDisplayNextMonth:E,onDisplayPreviousMonth:p},null,8,["day","locale-options"]),(0,a.Wm)(vs,{"start-date":(0,i.SU)(d).start,"locale-options":(0,i.SU)(S)},null,8,["start-date","locale-options"]),(0,a.Wm)(Rs,{currentDay:(0,i.SU)(u),"end-date":(0,i.SU)(d).end,sports:(0,i.SU)(r),"start-date":(0,i.SU)(d).start,timezone:(0,i.SU)(s).timezone,workouts:(0,i.SU)(m),weekStartingMonday:(0,i.SU)(s).weekm},null,8,["currentDay","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const Gs=Ls;var Fs=Gs,Ws=n(3703),Ys=n(4135),xs=n(7402);const $s={class:"user-month-stats"};var Zs=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,{sports:n,user:r}=(0,i.BK)(t),o=new Date,l={duration:"week",start:(0,Ws.Z)(o),end:(0,Ys.Z)(o)},c=t.sports.map((e=>e.id));return(e,t)=>{const o=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",$s,[(0,a.Wm)(o,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("dashboard.THIS_MONTH")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(xs.Z,{sports:(0,i.SU)(n),user:(0,i.SU)(r),"chart-params":l,"displayed-sport-ids":(0,i.SU)(c),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])])),_:1})])}}});const Ks=(0,P.Z)(Zs,[["__scopeId","data-v-1bcddc12"]]);var Bs=Ks;const Hs={class:"records-card"},qs={class:"record-type"},js={class:"record-value"},Vs={class:"record-date"};var Xs=(0,a.aZ)({props:{records:null,sportTranslatedLabel:null},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("SportImage"),l=(0,a.up)("router-link"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Hs,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Wm)(o,{"sport-label":(0,i.SU)(n).label,color:(0,i.SU)(n).color},null,8,["sport-label","color"]),(0,a.Uk)(" "+(0,s.zw)((0,i.SU)(r)),1)])),content:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).records,(t=>((0,a.wg)(),(0,a.iD)("div",{class:"record",key:t.id},[(0,a._)("span",qs,(0,s.zw)(e.$t(`workouts.RECORD_${t.record_type}`)),1),(0,a._)("span",js,(0,s.zw)(t.value),1),(0,a._)("span",Vs,[(0,a.Wm)(l,{to:{name:"Workout",params:{workoutId:t.workout_id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.workout_date),1)])),_:2},1032,["to"])])])))),128))])),_:1})])}}});const Js=(0,P.Z)(Xs,[["__scopeId","data-v-aee1f956"]]);var Qs=Js,eo=(n(1703),n(3649));const to=(e,t,n)=>{const r="km",a=n?eo.Dl[r].defaultTarget:r;let s;switch(e.record_type){case"AS":case"MS":s=`${(0,eo.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":s=`${(0,eo.sC)(+e.value,r,a,3)} ${a}`;break;case"LD":s=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,We.Jo)((0,We.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:s}},no=(e,t,n,r)=>e.reduce(((e,a)=>{const s=t.find((e=>e.id===a.sport_id));return s&&s.label&&(void 0===e[s.translatedLabel]&&(e[s.translatedLabel]={label:s.label,color:s.color,records:[]}),e[s.translatedLabel].records.push(to(a,n,r))),e}),{}),ro=e=>((0,a.dD)("data-v-ae25a82a"),e=e(),(0,a.Cn)(),e),ao={class:"user-records-section"},so={class:"section-title"},oo=ro((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),io={class:"user-records"},lo={key:0,class:"no-records"};var co=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ae.QT)(),r=(0,a.Fl)((()=>no(t.user.records,(0,se.xH)(t.sports,n),t.user.timezone,t.user.imperial_units)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",ao,[(0,a._)("div",so,[oo,(0,a.Uk)(" "+(0,s.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",io,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",lo,(0,s.zw)(t.$t("workouts.NO_RECORDS")),1)):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.keys((0,i.SU)(r)).sort(),(t=>((0,a.wg)(),(0,a.j4)(Qs,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const uo=(0,P.Z)(co,[["__scopeId","data-v-ae25a82a"]]);var mo=uo;const So={id:"user-stats"};var _o=(0,a.aZ)({props:{user:null},setup(e){const t=e,{t:n}=(0,ae.QT)(),{user:r}=(0,i.BK)(t),s=(0,a.Fl)((()=>t.user.total_duration)),o=(0,a.Fl)((()=>d(s))),l="km",c=r.value.imperial_units?eo.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,eo.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2))));function d(e){const t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?`${e.value.split(" ")[0]} ${e.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${t.split(":")[0]}h ${t.split(":")[1]}min`}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",So,[(0,a.Wm)(Z,{icon:"calendar",value:(0,i.SU)(r).nb_workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(r).nb_workouts)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"clock-o",value:(0,i.SU)(o).days,text:(0,i.SU)(o).duration},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"tags",value:(0,i.SU)(r).nb_sports,text:e.$t("workouts.SPORT",(0,i.SU)(r).nb_sports)},null,8,["value","text"])]))}});const Eo=_o;var po=Eo;const To=e=>((0,a.dD)("data-v-20e19721"),e=e(),(0,a.Cn)(),e),Ao={key:0,id:"dashboard",class:"view"},Uo={class:"container mobile-menu"},Oo={class:"box"},Ro=To((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),Io=[Ro],go=To((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),wo=[go],vo=To((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),fo=[vo],No=To((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),ho=[No],Co={class:"container"},Do={class:"container dashboard-container"},ko={class:"left-container dashboard-sub-container"},zo={class:"right-container dashboard-sub-container"},Po=To((()=>(0,a._)("div",{id:"bottom"},null,-1))),Mo={key:1,class:"app-loading"};var yo=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),r=(0,a.Fl)((()=>t.getters[l.O8.GETTERS.SPORTS])),o=(0,i.iH)("calendar");function u(e){o.value=e}return(e,t)=>{const l=(0,a.up)("Loader");return(0,i.SU)(n).username&&(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",Ao,[(0,a._)("div",Uo,[(0,a._)("div",Oo,[(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"calendar"===o.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},Io,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"chart"===o.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},wo,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"timeline"===o.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},fo,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"records"===o.value}]),onClick:t[3]||(t[3]=e=>u("records"))},ho,2)])]),(0,a._)("div",Co,[(0,a.Wm)(po,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Do,[(0,a._)("div",ko,[(0,a.Wm)(Bs,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("chart"===o.value)})},null,8,["sports","user","class"]),(0,a.Wm)(mo,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("records"===o.value)})},null,8,["sports","user","class"])]),(0,a._)("div",zo,[(0,a.Wm)(Fs,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("calendar"===o.value)})},null,8,["sports","user","class"]),(0,a.Wm)(Ga,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("timeline"===o.value)})},null,8,["sports","user","class"])])]),Po])):((0,a.wg)(),(0,a.iD)("div",Mo,[(0,a.Wm)(l)]))}}});const bo=(0,P.Z)(yo,[["__scopeId","data-v-20e19721"]]);var Lo=bo,Go=n(8273);const Fo={class:"not-found view"};var Wo=(0,a.aZ)({setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Fo,[(0,a.Wm)(Go.Z)]))}});const Yo=Wo;var xo=Yo,$o=n(7014);const Zo={id:"loginOrRegister",class:"view"},Ko={class:"container"},Bo={class:"container-sub"},Ho={class:"container-sub"};var qo=(0,a.aZ)({props:{action:null},setup(e){const t=e,{action:n}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Zo,[(0,a._)("div",Ko,[(0,a._)("div",Bo,[(0,a.Wm)(Hr)]),(0,a._)("div",Ho,[(0,a.Wm)($o.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const jo=(0,P.Z)(qo,[["__scopeId","data-v-6a38125b"]]);var Vo=jo;const Xo=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},Jo=[{path:"/",name:"Dashboard",component:Lo},{path:"/login",name:"Login",component:Vo,props:{action:"login"}},{path:"/register",name:"Register",component:Vo,props:{action:"register"}},{path:"/account-confirmation",name:"AccountConfirmation",component:()=>n.e(845).then(n.bind(n,4264))},{path:"/account-confirmation/resend",name:"AccountConfirmationResend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"account-confirmation-resend"}},{path:"/account-confirmation/email-sent",name:"AccountConfirmationEmailSend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"email-sent"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset"}},{path:"/email-update",name:"EmailUpdate",component:()=>n.e(845).then(n.bind(n,8160))},{path:"/profile",name:"Profile",component:()=>n.e(845).then(n.bind(n,6266)),children:[{path:"",name:"UserProfile",component:It,props:e=>({tab:Xo(e.path)}),children:[{path:"",name:"UserInfos",component:gt.Z},{path:"preferences",name:"UserPreferences",component:Ct},{path:"sports",name:"UserSportPreferences",component:vr,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:Pt,props:e=>({tab:Xo(e.path)}),children:[{path:"",name:"UserInfosEdition",component:mn},{path:"account",name:"UserAccountEdition",component:Ht},{path:"picture",name:"UserPictureEdition",component:wn},{path:"preferences",name:"UserPreferencesEdition",component:jn},{path:"sports",name:"UserSportPreferencesEdition",component:vr,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,7749))},{path:"/users/:username",name:"User",component:()=>n.e(845).then(n.bind(n,9453))},{path:"/workouts",name:"Workouts",component:()=>n.e(401).then(n.bind(n,5298))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,1254)),props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:()=>n.e(401).then(n.bind(n,8237))},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:()=>n.e(401).then(n.bind(n,1254)),props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:()=>n.e(401).then(n.bind(n,4189))},{path:"/admin",name:"Administration",component:()=>n.e(328).then(n.bind(n,6e3)),children:[{path:"",name:"AdministrationMenu",component:re},{path:"application",name:"ApplicationAdministration",component:y},{path:"application/edit",name:"ApplicationAdministrationEdition",component:y,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:he},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:ut}]},{path:"/about",name:"About",component:ea},{path:"/:pathMatch(.*)*",name:"not-found",component:xo}],Qo=(0,r.p7)({history:(0,r.PO)("/"),routes:Jo}),ei=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],ti=["/email-update","/about"];Qo.beforeEach(((e,t,n)=>{fr.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(ti.includes(e.path))return n();if(fr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&ei.includes(e.path))return n("/");if(fr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||ei.includes(e.path))n();else{const t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((e=>{console.error(e),n()}))}));var ni=Qo},8602:function(e,t,n){"use strict";var r,a,s,o,i,l,c,u,d,m,S,_,E,p,T;n.d(t,{YN:function(){return I},SY:function(){return U},O8:function(){return O},gu:function(){return R},RT:function(){return g},aX:function(){return w}}),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["CONFIRM_ACCOUNT"]="CONFIRM_ACCOUNT",e["CONFIRM_EMAIL"]="CONFIRM_EMAIL",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["RESEND_ACCOUNT_CONFIRMATION_EMAIL"]="RESEND_ACCOUNT_CONFIRMATION_EMAIL",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["RESET_USER_SPORT_PREFERENCES"]="RESET_USER_SPORT_PREFERENCES",e["UPDATE_USER_ACCOUNT"]="UPDATE_USER_ACCOUNT",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["IS_SUCCESS"]="IS_SUCCESS",e["IS_REGISTRATION_SUCCESS"]="IS_REGISTRATION_SUCCESS",e["USER_LOADING"]="USER_LOADING"}(a||(a={})),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_IS_SUCCESS"]="UPDATE_USER_IS_SUCCESS",e["UPDATE_IS_REGISTRATION_SUCCESS"]="UPDATE_IS_REGISTRATION_SUCCESS",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(s||(s={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(o||(o={})),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"}(l||(l={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(m||(m={})),function(e){e["USER_STATS"]="USER_STATS"}(S||(S={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(_||(_={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(E||(E={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_IS_SUCCESS"]="USERS_IS_SUCCESS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(p||(p={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION",e["UPDATE_IS_SUCCESS"]="UPDATE_IS_SUCCESS"}(T||(T={}));var A=n(52);const U={ACTIONS:o,GETTERS:i,MUTATIONS:l},O={ACTIONS:c,GETTERS:u,MUTATIONS:d},R={ACTIONS:m,GETTERS:S,MUTATIONS:_},I={ACTIONS:r,GETTERS:a,MUTATIONS:s},g={ACTIONS:E,GETTERS:p,MUTATIONS:T},w={ACTIONS:A.tW,GETTERS:A.JP,MUTATIONS:A.CW}},12:function(e,t,n){"use strict";n.d(t,{Z:function(){return ae}});var r=n(3907),a=(n(1703),n(5167)),s=n(9669),o=n.n(s),i=n(2024);const l=o().create({baseURL:(0,i.k)()});var c=l,u=n(2540),d=n(6448),m=n(8602);const S=(e,t)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`users/${t.username}`).then((n=>{204===n.status?t.fromAdmin?d.Z.push("/admin/users"):e.dispatch(m.YN.ACTIONS.LOGOUT).then((()=>d.Z.push("/"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},_={[m.RT.ACTIONS.EMPTY_USER](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USER,{})},[m.RT.ACTIONS.EMPTY_USERS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[m.RT.ACTIONS.GET_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get(`users/${t}`).then((t=>{"success"===t.data.status?e.commit(m.RT.MUTATIONS.UPDATE_USER,t.data.data.users[0]):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.GET_USERS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get("users",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.RT.MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.UPDATE_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1);const n={};void 0!==t.admin&&(n.admin=t.admin),t.resetPassword&&(n.reset_password=t.resetPassword),t.activate&&(n.activate=t.activate),void 0!==t.new_email&&(n.new_email=t.new_email),a.Z.patch(`users/${t.username}`,n).then((n=>{"success"===n.data.status?(e.commit(m.RT.MUTATIONS.UPDATE_USER_IN_USERS,n.data.data.users[0]),(t.resetPassword||t.new_email)&&e.commit(m.RT.MUTATIONS.UPDATE_IS_SUCCESS,!0),(t.activate||t.new_email)&&e.commit(m.RT.MUTATIONS.UPDATE_USER,n.data.data.users[0])):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.DELETE_USER_ACCOUNT](e,t){S(e,{username:t.username,fromAdmin:!0})}},{locale:E}=u.Z.global,p=e=>{localStorage.removeItem("authToken"),e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.gu.MUTATIONS.EMPTY_USER_STATS),e.commit(m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUTS),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),d.Z.push("/login")},T={[m.YN.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[m.YN.GETTERS.IS_AUTHENTICATED]&&(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE))},[m.YN.ACTIONS.CONFIRM_ACCOUNT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/confirm",{token:t.token}).then((t=>{if("success"===t.data.status){const n=t.data.auth_token;window.localStorage.setItem("authToken",n),e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,n),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/")))}else(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[m.YN.ACTIONS.CONFIRM_EMAIL](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),c.post("/auth/email/update",{token:t.token}).then((n=>{"success"===n.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0),t.refreshUser&&e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile/edit/account"))),d.Z.push("/profile/edit/account")):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[m.YN.ACTIONS.GET_USER_PROFILE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("auth/profile").then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(m.SY.MUTATIONS.UPDATE_LANG,t.data.data.language),E.value=t.data.data.language),e.dispatch(m.O8.ACTIONS.GET_SPORTS)):((0,i.S)(e,null),p(e))})).catch((t=>{(0,i.S)(e,t),p(e)}))},[m.YN.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),c.post(`/auth/${t.actionType}`,t.formData).then((n=>{if("success"===n.data.status)if("login"===t.actionType){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")))}else d.Z.push("/login").then((()=>e.commit(m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!0)));else(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.LOGOUT](e){p(e)},[m.YN.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),d.Z.push("/profile")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.UPDATE_USER_ACCOUNT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),a.Z.patch("auth/profile/edit/account",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/preferences",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(m.SY.MUTATIONS.UPDATE_LANG,t.data.data.language),E.value=t.data.data.language,d.Z.push("/profile/preferences")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"](`auth/profile/reset/sports/${t}`).then((t=>{204===t.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/sports",t).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),a.Z.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{"success"===t.data.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.DELETE_ACCOUNT](e,t){S(e,t)},[m.YN.ACTIONS.DELETE_PICTURE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"]("auth/picture").then((t=>{204===t.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/reset-request",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/resend-confirmation",t).then((t=>{"success"===t.data.status?d.Z.push("/account-confirmation/email-sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/update",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/password-updated"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},A={[m.YN.GETTERS.AUTH_TOKEN]:e=>e.authToken,[m.YN.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[m.YN.GETTERS.IS_AUTHENTICATED]:e=>null!==e.authToken,[m.YN.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[m.YN.GETTERS.IS_REGISTRATION_SUCCESS]:e=>e.isRegistrationSuccess,[m.YN.GETTERS.IS_SUCCESS]:e=>e.isSuccess,[m.YN.GETTERS.USER_LOADING]:e=>e.loading},U={[m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[m.YN.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](e,t){e.isRegistrationSuccess=t},[m.YN.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t},[m.YN.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t}},O={authToken:null,authUserProfile:{},isSuccess:!1,isRegistrationSuccess:!1,loading:!1},R={state:O,actions:T,getters:A,mutations:U};var I=R;const g={[m.SY.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),a.Z.get("config").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!1)))},[m.SY.ACTIONS.GET_APPLICATION_STATS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("stats/all").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.SY.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch("config",t).then((t=>{"success"===t.data.status?(e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),d.Z.push("/admin/application")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},w={[m.SY.GETTERS.APP_CONFIG]:e=>e.application.config,[m.SY.GETTERS.APP_LOADING]:e=>e.appLoading,[m.SY.GETTERS.APP_STATS]:e=>e.application.statistics,[m.SY.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[m.SY.GETTERS.LANGUAGE]:e=>e.language,[m.SY.GETTERS.LOCALE]:e=>e.locale};var v=n(6287);const f={[m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[m.SY.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[m.SY.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=v.v1[t]}};var N=n(5826);const h={root:!0,language:"en",locale:N.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},C={[m.O8.ACTIONS.GET_SPORTS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("sports").then((t=>{"success"===t.data.status?(e.commit(m.O8.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.O8.ACTIONS.UPDATE_SPORTS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch(`sports/${t.id}`,{is_active:t.isActive}).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},D={[m.O8.GETTERS.SPORTS]:e=>e.sports},k={[m.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},z={sports:[]},P={state:z,actions:C,getters:D,mutations:k};var M=P;const y={[m.gu.ACTIONS.GET_USER_STATS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then((t=>{"success"===t.data.status?e.commit(m.gu.MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},b={[m.gu.GETTERS.USER_STATS]:e=>e.statistics},L={[m.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[m.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},G={statistics:{}},F={state:G,actions:y,getters:b,mutations:L};var W=F;const Y={[m.RT.GETTERS.USER]:e=>e.user,[m.RT.GETTERS.USERS]:e=>e.users,[m.RT.GETTERS.USERS_IS_SUCCESS]:e=>e.isSuccess,[m.RT.GETTERS.USERS_LOADING]:e=>e.loading,[m.RT.GETTERS.USERS_PAGINATION]:e=>e.pagination},x={[m.RT.MUTATIONS.UPDATE_USER](e,t){e.user=t},[m.RT.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map((e=>e.username===t.username?t:e))},[m.RT.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[m.RT.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[m.RT.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t},[m.RT.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t}},$={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},Z={state:$,actions:_,getters:Y,mutations:x};var K=Z,B=n(52);const H=(e,t,n)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("workouts",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.aX.MUTATIONS[n],t.data.data.workouts),n===B.CW.SET_USER_WORKOUTS&&e.commit(m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},q={[m.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),H(e,t,B.CW.SET_CALENDAR_WORKOUTS)},[m.aX.ACTIONS.GET_USER_WORKOUTS](e,t){H(e,t,B.CW.SET_USER_WORKOUTS)},[m.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){H(e,t,B.CW.SET_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){H(e,t,B.CW.ADD_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";a.Z.get(`workouts/${t.workoutId}`).then((r=>{const s=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===s.segments.length||!s.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(m.aX.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(a.Z.get(`workouts/${t.workoutId}/chart_data${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),a.Z.get(`workouts/${t.workoutId}/gpx${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,null)})).catch((t=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.DELETE_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z["delete"](`workouts/${t.workoutId}`).then((()=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),d.Z.push("/")})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.EDIT_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.patch(`workouts/${t.workoutId}`,t.data).then((()=>{e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),e.dispatch(m.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((()=>{d.Z.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(1===t.data.data.workouts.length?`/workouts/${n.id}`:"/")}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.post("workouts/no_gpx",t).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(`/workouts/${n.id}`)}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))}},j={[m.aX.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[m.aX.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[m.aX.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[m.aX.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[m.aX.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},V={[m.aX.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[m.aX.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[m.aX.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[m.aX.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[m.aX.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[m.aX.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[m.aX.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},X={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},J={state:X,actions:q,getters:j,mutations:V};var Q=J;const ee={authUserModule:I,sportsModule:M,statsModule:W,usersModule:K,workoutsModule:Q},te={state:h,actions:g,getters:w,mutations:f,modules:ee};var ne=te;const re=(0,r.MT)(ne);var ae=re},52:function(e,t,n){"use strict";var r,a,s;n.d(t,{CW:function(){return s},JP:function(){return a},tW:function(){return r}}),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"}(a||(a={})),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"}(s||(s={}))},9917:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var r=n(3907);function a(){return(0,r.oR)()}},2766:function(e,t,n){"use strict";n.d(t,{Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l}});const r=["asc","desc"],a=1,s=10,o=(e,t)=>e&&"string"===typeof e&&+e>0?+e:t,i=(e,t,n)=>e&&"string"===typeof e&&t.includes(e)?e:n,l=(e,t,n,l)=>{const c=l||{},u=c.defaultSort||"asc",d={};return d.page=o(e.page,a),d.per_page=o(e.per_page,s),d.order=i(e.order,r,u),d.order_by=i(e.order_by,t,n),"string"===typeof e.q?d.q=e.q:delete d.q,d},c=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=(e,t=1)=>Array.from({length:e-t+1},((e,n)=>t+n)),d=(e,t)=>{if(e<0)return[];if(e<9)return u(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{switch(e){case"week":return(0,r.Z)(t,{weekStartsOn:n?1:0});case"year":return(0,a.Z)(t);case"month":return(0,s.Z)(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},_=(e,t)=>{switch(e){case"week":return(0,o.Z)(t,7);case"year":return(0,i.Z)(t,1);case"month":return(0,l.Z)(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},E=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),p=(e,t)=>{const n=(0,s.Z)(e),a=(0,c.Z)(e),o=t?1:0;return{start:(0,r.Z)(n,{weekStartsOn:o}),end:(0,u.Z)(a,{weekStartsOn:o})}},T=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},8966:function(e,t,n){"use strict";n.d(t,{Z:function(){return a},j:function(){return s}});const r=["bytes","KB","MB","GB","TB"],a=(e,t=!0)=>{const n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};const a=(e/Math.pow(1024,n)).toFixed(1),s=r[n];return t?`${a}${s}`:{size:a,suffix:s}},s=e=>{const t=e/1048576;return+t.toFixed(2)}},2024:function(e,t,n){"use strict";n.d(t,{S:function(){return s},k:function(){return a}});var r=n(8602);const a=()=>"/api/",s=(e,t,n="UNKNOWN")=>{const a=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.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},6287:function(e,t,n){"use strict";n.d(t,{mT:function(){return c},v1:function(){return o},zK:function(){return i}});var r=n(5826),a=n(5830),s=n(2540);const o={en:r.Z,fr:a.Z},i={en:"English",fr:"Français"},{availableLocales:l}=s.Z.global,c=l.map((e=>({label:i[e],value:e})))},631:function(e,t,n){"use strict";n.d(t,{CM:function(){return l},PA:function(){return i},Yx:function(){return a},Zo:function(){return r},xH:function(){return o}});const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},a=e=>{const t={};return e.map((e=>t[e.id]=e.color?e.color:r[e.label])),t},s=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter((e=>"all"===n||(r.includes(e.id)||e[n]))).map((e=>({...e,translatedLabel:t(`sports.${e.label}.LABEL`)}))).sort(s),i=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.label))[0],l=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.color))[0]},9318:function(e,t,n){"use strict";n.d(t,{FN:function(){return N},aZ:function(){return f},v1:function(){return v}});var r=n(4850),a=n(8148),s=n(9319),o=n(584),i=n(4559),l=n(3703),c=n(876),u=n(7090),d=n(4135),m=n(1593),S=n(7982),_=n(3500),E=n(1640),p=n(6558),T=n(631),A=n(3649);const U={week:{api:"yyyy-MM-dd",chart:"dd/MM/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},O=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],R=(e,t)=>{const n=[];for(let r=(0,p.Nh)(e.duration,e.start,t);r<=e.end;r=(0,p.xA)(e.duration,r))n.push(r);return n},I=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},g=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map((e=>{const n=e.color?e.color:T.Zo[e.label];t.average_speed.push(I(e.label,n,!0)),t.nb_workouts.push(I(e.label,n)),t.total_distance.push(I(e.label,n)),t.total_duration.push(I(e.label,n)),t.total_ascent.push(I(e.label,n)),t.total_descent.push(I(e.label,n))})),t},w=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},v=(e,t,n,a,s,o)=>{const i=R(e,t),l=U[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=g(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),O.map((e=>{d[e].map((n=>{n.data.push(s!=={}&&t in s&&m[n.label]in s[t]?w(e,s[t][m[n.label]][e],o):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},f=(e,t,n)=>{const r=n?1:0,m="year"===t?(0,a.Z)((0,s.Z)(e,9)):"week"===t?(0,o.Z)((0,i.Z)(e,2),{weekStartsOn:r}):(0,l.Z)((0,i.Z)(e,11)),S="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:S,start:m}},N=(e,t,n)=>{const{duration:r,start:p,end:T}=e,A=n?1:0;return{duration:r,end:"year"===r?(0,c.Z)(t?(0,s.Z)(T,1):(0,m.Z)(T,1)):"week"===r?(0,u.Z)(t?(0,S.Z)(T,1):(0,_.Z)(T,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(T,1):(0,E.Z)(T,1)),start:"year"===r?(0,a.Z)(t?(0,s.Z)(p,1):(0,m.Z)(p,1)):"week"===r?(0,o.Z)(t?(0,S.Z)(p,1):(0,_.Z)(p,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(p,1):(0,E.Z)(p,1))}}},3649:function(e,t,n){"use strict";n.d(t,{Dl:function(){return r},f3:function(){return o},sC:function(){return s}});const r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},a={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},s=(e,t,n,s=3)=>{const o=r[t],i=r[n],l=e*o.multiplier*a[o.system][i.system]/i.multiplier;return null!==s?parseFloat(l.toFixed(s)):l},o=(e,t,n)=>{const a=n?r[e].defaultTarget:e;return n?s(t,e,a,2):t}},3768:function(e,t,n){"use strict";n.d(t,{BN:function(){return s},EX:function(){return a},eR:function(){return o}});var r=n(3649);const a=(e,t,n)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["#FFFFFF"],borderColor:["#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:["#e5e5e5"],borderColor:["#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},s=[],o=[],i=[];return e.map((e=>{s.push(e.distance),o.push(e.duration),a.speed.data.push((0,r.f3)("km",e.speed,n)),a.elevation.data.push((0,r.f3)("m",e.elevation,n)),i.push({latitude:e.latitude,longitude:e.longitude})})),{distance_labels:s,duration_labels:o,datasets:a,coordinates:i}},s=e=>{const t=e.length;if(0===t)return{};const n={};return e.map((e=>{n[e.sport_id]||(n[e.sport_id]={count:0,percentage:0}),n[e.sport_id].count+=1,n[e.sport_id].percentage=n[e.sport_id].count/t})),n},o={order:"desc",order_by:"workout_date"}},2531:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={class:"card"},s={class:"card-title"},o={class:"card-content"};function i(e,t){return(0,r.wg)(),(0,r.iD)("div",a,[(0,r._)("div",s,[(0,r.WI)(e.$slots,"title")]),(0,r._)("div",o,[(0,r.WI)(e.$slots,"content")])])}var l=n(3744);const c={},u=(0,l.Z)(c,[["render",i]]);var d=u},8626:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(6252),a=n(3577),s=n(2262);const o={class:"table-selects"},i=["value"],l=["value"],c=["value"],u=["value"],d=["value"],m=["value"];var S=(0,r.aZ)({props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup(e,{emit:t}){const n=e,{order_by:S,query:_,sort:E,message:p}=(0,s.BK)(n),T=[10,25,50,100];function A(e){t("updateSelect",e.target.id,e.target.value)}return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),(0,r._)("select",{name:"order_by",id:"order_by",value:(0,s.SU)(_).order_by,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(S),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`${(0,s.SU)(p)}.${t.toUpperCase()}`)),9,l)))),128))],40,i)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),(0,r._)("select",{name:"order",id:"order",value:(0,s.SU)(_).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(E),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`common.SELECTS.ORDER.${t.toUpperCase()}`)),9,u)))),128))],40,c)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),(0,r._)("select",{name:"per_page",id:"per_page",value:(0,s.SU)(_).per_page,onChange:A},[((0,r.wg)(),(0,r.iD)(r.HY,null,(0,r.Ko)(T,(e=>(0,r._)("option",{value:e,key:e},(0,a.zw)(e),9,m))),64))],40,d)])]))}}),_=n(3744);const E=(0,_.Z)(S,[["__scopeId","data-v-72463173"]]);var p=E},7167:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},s=(0,r.uE)('',1),o=[s];function i(e,t,n,s,i,l){return(0,r.wg)(),(0,r.iD)("svg",a,o)}var l={name:"ErrorImg"},c=n(3744);const u=(0,c.Z)(l,[["render",i]]);var d=u},8273:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(6252),a=n(2262),s=n(3577);const o={id:"error"},i={class:"error-content"};var l=(0,r.aZ)({props:{title:null,message:null,buttonText:null,path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:l,message:c,path:u}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("div",i,[(0,r._)("h1",null,(0,s.zw)((0,a.SU)(l)),1),(0,r._)("p",null,(0,s.zw)((0,a.SU)(c)),1),(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[0]||(t[0]=t=>e.$router.push((0,a.SU)(u))),class:"upper"},(0,s.zw)((0,a.SU)(n)),1)):(0,r.kq)("",!0)])]))}}),c=n(3744);const u=(0,c.Z)(l,[["__scopeId","data-v-b60bfa80"]]);var d=u,m=(0,r.aZ)({props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const S=m;var _=S},6514:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(6252),a=n(3577),s=n(2262),o=n(2766);const i=e=>((0,r.dD)("data-v-f38ea1b8"),e=e(),(0,r.Cn)(),e),l={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},u=i((()=>(0,r._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1))),d={key:0},m=i((()=>(0,r._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)));var S=(0,r.aZ)({props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:S}=(0,s.BK)(t);function _(e,t){const n=Object.assign({},S.value);return n.page=t?e+t:e,n}return(e,t)=>{const S=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("nav",l,[(0,r._)("ul",c,[(0,r._)("li",{class:(0,a.C_)(["page-prev",{disabled:!(0,s.SU)(n).has_prev}])},[(0,r.Wm)(S,{class:"page-link",to:{path:(0,s.SU)(i),query:_((0,s.SU)(n).page,-1)},disabled:!(0,s.SU)(n).has_prev},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,s.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.PREVIOUS"))+" ",1),u]))])),_:3},8,["to","disabled"])],2),((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(o.lM)((0,s.SU)(n).pages,(0,s.SU)(n).page),(e=>((0,r.wg)(),(0,r.iD)("li",{key:e,class:(0,a.C_)(["page",{active:e===(0,s.SU)(n).page}])},["..."===e?((0,r.wg)(),(0,r.iD)("span",d," ... ")):((0,r.wg)(),(0,r.j4)(S,{key:1,class:"page-link",to:{path:(0,s.SU)(i),query:_(+e)}},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e),1)])),_:2},1032,["to"]))],2)))),128)),(0,r._)("li",{class:(0,a.C_)(["page-next",{disabled:!(0,s.SU)(n).has_next}])},[(0,r.Wm)(S,{class:"page-link",to:{path:(0,s.SU)(i),query:_((0,s.SU)(n).page,1)},disabled:!(0,s.SU)(n).has_next},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,s.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.NEXT"))+" ",1),m]))])),_:3},8,["to","disabled"])],2)])])}}}),_=n(3744);const E=(0,_.Z)(S,[["__scopeId","data-v-f38ea1b8"]]);var p=E},2047:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(6252),a=n(2262),s=n(9963),o=n(3577),i=n(3257),l=n(8602),c=n(9917);const u=async e=>{const t=await n.e(881).then(n.bind(n,410)),r=await n.e(881).then(n.bind(n,8288)),a=await n.e(881).then(n.bind(n,6947)),s={en:r,fr:a},o=s[e],l={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...o.default.dictionary}};i.Mu.setOptions(l)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},S=["value"],_={key:0,class:"password-strength-details"},E={class:"password-strength-value"},p={key:0,class:"info-box"},T={class:"password-feedback"};var A=(0,r.aZ)({props:{password:null},setup(e){const t=e,{password:n}=(0,a.BK)(t),s=(0,c.o)(),A=(0,r.Fl)((()=>s.getters[l.SY.GETTERS.LANGUAGE])),U=(0,r.Fl)((()=>s.getters[l.YN.GETTERS.IS_SUCCESS])),O=(0,a.iH)(0),R=(0,a.iH)(""),I=(0,a.iH)([]),g=(0,a.iH)("0% 100%");function w(e){let t=(0,i.tu)(e);O.value=t.score,R.value=d(O.value),I.value=t.feedback.suggestions,g.value=100*O.value/4+"% 100%"}return(0,r.wF)((async()=>await u(A.value))),(0,r.YP)((()=>A.value),(async e=>{await u(e)})),(0,r.YP)((()=>n.value),(async e=>{U.value?R.value="":w(e)})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("input",{class:(0,o.C_)(["password-slider",`strength-${O.value}`]),style:(0,o.j5)({backgroundSize:g.value}),type:"range",value:O.value,min:"0",max:"4",step:"1"},null,14,S),R.value?((0,r.wg)(),(0,r.iD)("div",_,[(0,r._)("span",E,(0,o.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,o.zw)(e.$t(`user.PASSWORD_STRENGTH.${R.value}`)),1),I.value.length>0?((0,r.wg)(),(0,r.iD)("div",p,[(0,r._)("ul",T,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(I.value,(t=>((0,r.wg)(),(0,r.iD)("li",{key:t},(0,o.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),U=n(3744);const O=(0,U.Z)(A,[["__scopeId","data-v-79c9693d"]]);var R=O;const I=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),g={class:"password-input"},w=["id","disabled","placeholder","required","type"],v={key:0,class:"form-info"},f=I((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var N=(0,r.aZ)({props:{checkStrength:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{default:"password"},password:{default:""},placeholder:null,required:{type:Boolean,default:!1}},emits:["updatePassword","passwordError"],setup(e,{emit:t}){const n=e,{checkStrength:i,disabled:l,id:c,password:u,placeholder:d,required:m}=(0,a.BK)(n),S=(0,a.iH)(!1),_=(0,a.iH)("");function E(){S.value=!S.value}function p(e){t("updatePassword",e.target.value)}function T(){t("passwordError")}return(0,r.YP)((()=>u.value),(e=>{""===e&&(_.value="")})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",g,[(0,r.wy)((0,r._)("input",{id:(0,a.SU)(c),disabled:(0,a.SU)(l),placeholder:(0,a.SU)(d),required:(0,a.SU)(m),type:S.value?"text":"password","onUpdate:modelValue":t[0]||(t[0]=e=>_.value=e),minlength:"8",onInput:p,onInvalid:T},null,40,w),[[s.YZ,_.value]]),(0,r._)("div",{class:"show-password",onClick:E},[(0,r.Uk)((0,o.zw)(e.$t(`user.${S.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,o.C_)(["fa","fa-eye"+(S.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",v,[f,(0,r.Uk)(" "+(0,o.zw)(e.$t("user.PASSWORD_INFO")),1)])):(0,r.kq)("",!0),(0,a.SU)(i)?((0,r.wg)(),(0,r.j4)(R,{key:1,password:_.value},null,8,["password"])):(0,r.kq)("",!0)]))}});const h=(0,U.Z)(N,[["__scopeId","data-v-5a126514"]]);var C=h},2056:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577),s=n(2262),o=n(2024);const i=(0,r._)("div",{class:"map-attribution"},[(0,r._)("span",{class:"map-attribution-text"},"©"),(0,r._)("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1);var l=(0,r.aZ)({props:{workout:null,displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=(0,s.BK)(t),l=`${(0,o.k)()}workouts/map/${t.workout.map}`;return(e,t)=>((0,r.wg)(),(0,r.iD)("div",{class:(0,a.C_)(["static-map",{"display-hover":(0,s.SU)(n)}])},[(0,s.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,src:l,alt:""})):((0,r.wg)(),(0,r.iD)("div",{key:1,class:"bg-map-image",style:(0,a.j5)({backgroundImage:`url(${l})`})},null,4)),i],2))}});const c=l;var u=c},7402:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var r=n(6252),a=n(3577);const s={class:"start-chart"},o={key:0},i={key:1},l={class:"chart-radio"},c=["checked"],u=["checked"],d=["checked"],m={key:0},S=["checked"],_={key:1},E=["checked"],p={key:2},T=["checked"];function A(e,t,n,A,U,O){const R=(0,r.up)("Chart");return(0,r.wg)(),(0,r.iD)("div",s,[e.hideChartIfNoData&&e.emptyStats?((0,r.wg)(),(0,r.iD)("div",o,(0,a.zw)(e.$t("workouts.NO_WORKOUTS")),1)):((0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("div",l,[(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[0]||(t[0]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,c),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DISTANCE")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[1]||(t[1]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,u),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DURATION")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[2]||(t[2]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,d),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.WORKOUT",2)),1)]),e.fullStats?((0,r.wg)(),(0,r.iD)("label",m,[(0,r._)("input",{type:"radio",name:"average_speed",checked:"average_speed"===e.displayedData,onClick:t[3]||(t[3]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,S),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.AVERAGE_SPEED")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",_,[(0,r._)("input",{type:"radio",name:"total_ascent",checked:"total_ascent"===e.displayedData,onClick:t[4]||(t[4]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,E),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.ASCENT")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",p,[(0,r._)("input",{type:"radio",name:"total_descent",checked:"total_descent"===e.displayedData,onClick:t[5]||(t[5]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,T),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DESCENT")),1)])):(0,r.kq)("",!0)]),e.labels.length>0?((0,r.wg)(),(0,r.j4)(R,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats,useImperialUnits:e.user.imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):(0,r.kq)("",!0)]))])}var U=n(4850),O=n(2262);const R={class:"chart"};function I(e,t,n,a,s,o){const i=(0,r.up)("BarChart");return(0,r.wg)(),(0,r.iD)("div",R,[(0,r.Wm)(i,(0,r.dG)(e.barChartProps,{class:"bar-chart"}),null,16)])}var g=n(6518),w=n(3324);const v=(e,t=!1)=>{let n="0";t&&(n=String(Math.floor(e/86400)),e%=86400);const r=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;const a=String(Math.floor(e/60)).padStart(2,"0"),s=String(e%60).padStart(2,"0");return t?`${"0"===n?"":`${n}d `}${"00"===r?"":`${r}h `}${a}m ${s}s`:`${"00"===r?"":`${r}:`}${a}:${s}`};var f=n(3649);const N=(e,t,n,r=!0)=>{const a="km",s=n?f.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${s}/h`;case"total_duration":return v(t,r);case"total_distance":return`${t.toFixed(2)} ${s}`;case"total_ascent":case"total_descent":return`${(t/1e3).toFixed(2)} ${s}`;default:return t.toString()}};var h=(0,r.aZ)({name:"Chart",components:{BarChart:g.vz},props:{datasets:{type:Object,required:!0},labels:{type:Object,required:!0},displayedData:{type:String,required:!0},displayedSportIds:{type:Array,required:!0},fullStats:{type:Boolean,required:!0},useImperialUnits:{type:Boolean,required:!0}},setup(e){const{t:t}=(0,w.QT)();function n(e){return isNaN(e)?0:+e}function a(e,t){return n(e)+n(t)}let s=(0,r.Fl)((()=>({labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))})));const o=(0,r.Fl)((()=>({responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:"average_speed"!==e.displayedData,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return N(e.displayedData,+t,e.useImperialUnits,!1)}},afterFit:function(t){t.width=e.fullStats?75:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(t){return"average_speed"===e.displayedData&&t.dataset.backgroundColor?t.dataset.backgroundColor[0]:"#666666"},rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)&&("average_speed"!==e.displayedData||1==e.displayedSportIds.length&&"auto")},formatter:function(t,n){if("average_speed"===e.displayedData)return N(e.displayedData,t,e.useImperialUnits,!1);{const t=n.chart.data.datasets.map((e=>e.data[n.dataIndex])).reduce(((e,t)=>a(e,t)),0);return n.datasetIndex===e.displayedSportIds.length-1&&t>0?N(e.displayedData,t,e.useImperialUnits,!1):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:"average_speed"===e.displayedData?"nearest":"average"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(n){let r=t(`sports.${n.dataset.label}.LABEL`)||"";return r&&(r+=": "),null!==n.parsed.y&&(r+=N(e.displayedData,n.parsed.y,e.useImperialUnits)),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+N(e.displayedData,r,e.useImperialUnits)}}}}}))),{barChartProps:i}=(0,g.xZ)({chartData:s,options:o});return{barChartProps:i}}}),C=n(3744);const D=(0,C.Z)(h,[["render",I]]);var k=D,z=n(8602),P=n(9917),M=n(9318),y=(0,r.aZ)({name:"UserMonthStats",components:{Chart:k},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup(e){const t=(0,P.o)();let n=(0,O.iH)("total_distance");const a=(0,r.Fl)((()=>t.getters[z.gu.GETTERS.USER_STATS])),s=(0,r.Fl)((()=>(0,M.v1)(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,a.value,e.user.imperial_units)));function o(n){t.dispatch(z.gu.ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:n})}function i(e){n.value=e.target.name}function l(e,t){return{from:(0,U.Z)(e.start,"yyyy-MM-dd"),to:(0,U.Z)(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week"+(t.weekm?"m":""):e.duration}}return(0,r.wF)((()=>o(l(e.chartParams,e.user)))),(0,r.YP)((()=>e.chartParams),(async t=>{o(l(t,e.user))})),{datasets:(0,r.Fl)((()=>s.value.datasets[n.value])),labels:(0,r.Fl)((()=>s.value.labels)),emptyStats:(0,r.Fl)((()=>0===Object.keys(a.value).length)),displayedData:n,updateDisplayData:i}}});const b=(0,C.Z)(y,[["render",A],["__scopeId","data-v-68a6a495"]]);var L=b},2179:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(6252),a=n(2262),s=n(3577),o=n(6595),i=n(8602),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},S={class:"user-stat"},_={class:"stat-number"},E={class:"stat-label"},p={class:"user-stat"},T={class:"stat-label"},A={class:"user-stat hide-small"},U={class:"stat-number"},O={class:"stat-label"};var R=(0,r.aZ)({props:{user:null},setup(e){const t=e,{user:n}=(0,a.BK)(t),R=(0,l.o)(),I=(0,r.Fl)((()=>R.getters[i.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const i=(0,r.up)("Distance");return(0,r.wg)(),(0,r.iD)("div",c,[(0,r.Wm)(o.Z,{user:(0,a.SU)(n)},null,8,["user"]),(0,r._)("div",u,[(0,r._)("div",d,(0,s.zw)((0,a.SU)(n).username),1),(0,r._)("div",m,[(0,r._)("div",S,[(0,r._)("span",_,(0,s.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",E,(0,s.zw)(e.$t("workouts.WORKOUT",(0,a.SU)(n).nb_workouts)),1)]),(0,r._)("div",p,[(0,r.Wm)(i,{distance:(0,a.SU)(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:(0,a.SU)(I).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",T,(0,s.zw)((0,a.SU)(I).imperial_units?"miles":"km"),1)]),(0,r._)("div",A,[(0,r._)("span",U,(0,s.zw)((0,a.SU)(n).nb_sports),1),(0,r._)("span",O,(0,s.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),I=n(3744);const g=(0,I.Z)(R,[["__scopeId","data-v-20291951"]]);var w=g},4317:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(6252),a=n(2262),s=n(3577),o=n(9963),i=n(4850),l=n(8602),c=n(9917);const u={id:"user-infos",class:"description-list"},d={key:1,class:"info-box success-message"},m={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},_={class:"form-items",for:"email"},E={class:"form-buttons"},p={class:"confirm",type:"submit"},T=["onClick"],A={key:5},U={class:"user-bio"},O={key:0,class:"profile-buttons"},R=["onClick"],I={key:1,class:"profile-buttons"};var g=(0,r.aZ)({props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:g,fromAdmin:w}=(0,a.BK)(t),v=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),f=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),N=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):"")),h=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),C=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));let D=(0,a.iH)("");const k=(0,a.iH)(!1),z=(0,a.iH)(!1),P=(0,a.iH)(""),M=(0,a.iH)("");function y(e){D.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function b(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function L(e){M.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function G(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function F(){x(),P.value=g.value.email_to_confirm?g.value.email_to_confirm:"",z.value=!0,M.value="email-update"}function W(){P.value="",z.value=!1}function Y(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:P.value})}function x(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),M.value=""}return(0,r.Ah)((()=>x())),(0,r.YP)((()=>h.value),(e=>{e&&(y(""),W())})),(e,t)=>{const n=(0,r.up)("Modal"),i=(0,r.up)("AlertMessage"),l=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",u,[(0,a.SU)(D)?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===(0,a.SU)(D)?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(g).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===(0,a.SU)(D)?b((0,a.SU)(g).username):L((0,a.SU)(g).username)),onCancelAction:t[1]||(t[1]=e=>y(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(h)?((0,r.wg)(),(0,r.iD)("div",d,(0,s.zw)(e.$t(`admin.${"password-reset"===M.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(i,{key:2,message:"user.THIS_USER_ACCOUNT_IS_INACTIVE"})),(0,a.SU)(C)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(C)},null,8,["message"])):(0,r.kq)("",!0),z.value?((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("form",{class:(0,s.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,o.iM)((e=>Y((0,a.SU)(g).username)),["prevent"]))},[(0,r._)("label",S,[(0,r.Uk)((0,s.zw)(e.$t("admin.CURRENT_EMAIL"))+" ",1),(0,r.wy)((0,r._)("input",{id:"email",type:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,a.SU)(g).email=e),disabled:""},null,512),[[o.nr,(0,a.SU)(g).email]])]),(0,r._)("label",_,[(0,r.Uk)((0,s.zw)(e.$t("admin.NEW_EMAIL"))+"* ",1),(0,r.wy)((0,r._)("input",{id:"new-email",type:"email",required:"","onUpdate:modelValue":t[3]||(t[3]=e=>P.value=e)},null,512),[[o.nr,P.value]])]),(0,r._)("div",E,[(0,r._)("button",p,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,o.iM)(W,["prevent"])},(0,s.zw)(e.$t("buttons.CANCEL")),9,T)])],34)])):((0,r.wg)(),(0,r.iD)("div",A,[(0,r._)("dl",null,[(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(f)),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.FIRST_NAME"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(g).first_name),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.LAST_NAME"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(g).last_name),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(N)),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(g).location),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",U,(0,s.zw)((0,a.SU)(g).bio),1)]),(0,a.SU)(w)?((0,r.wg)(),(0,r.iD)("div",O,[(0,a.SU)(v).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,o.iM)((e=>y("delete")),["prevent"]))},(0,s.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,o.iM)((e=>G((0,a.SU)(g).username)),["prevent"]))},(0,s.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(v).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,o.iM)(F,["prevent"])},(0,s.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,R)):(0,r.kq)("",!0),(0,a.SU)(v).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,o.iM)((e=>y("reset")),["prevent"]))},(0,s.zw)(e.$t("admin.RESET_USER_PASSWORD")),1)):(0,r.kq)("",!0),(0,r._)("button",{onClick:t[8]||(t[8]=t=>e.$router.go(-1))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,r.wg)(),(0,r.iD)("div",I,[(0,r._)("button",{onClick:t[9]||(t[9]=t=>e.$router.push("/profile/edit"))},(0,s.zw)(e.$t("user.PROFILE.EDIT")),1),(0,r._)("button",{onClick:t[10]||(t[10]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))]))])}}}),w=n(3744);const v=(0,w.Z)(g,[["__scopeId","data-v-8f7f2d5c"]]);var f=v},7014:function(e,t,n){"use strict";n.d(t,{Z:function(){return D}});var r=n(6252),a=n(3577),s=n(2262),o=n(9963),i=n(2119),l=n(2047),c=n(8602),u=n(9917);const d=e=>((0,r.dD)("data-v-21d76483"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},S={key:1,class:"info-box success-message"},_={class:"form-items"},E=["disabled","placeholder"],p={key:1,class:"form-info"},T=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),A=["disabled","placeholder"],U={key:3,class:"form-info"},O=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],I={key:2},g=(0,r.Uk)(" - "),w={key:3},v={class:"account"},f={key:4};var N=(0,r.aZ)({props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:N}=(0,s.BK)(t),h=(0,s.qj)({username:"",email:"",password:""}),C=(0,r.Fl)((()=>b(t.action))),D=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),k=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_REGISTRATION_SUCCESS])),z=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_SUCCESS])),P=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.APP_CONFIG])),M=(0,r.Fl)((()=>"register"===t.action&&!P.value.is_registration_enabled)),y=(0,s.iH)(!1);function b(e){switch(e){case"reset-request":case"reset":return"buttons.SUBMIT";default:return`buttons.${t.action.toUpperCase()}`}}function L(){y.value=!0}function G(e){h.password=e}function F(e){switch(e){case"reset":return t.token?d.dispatch(c.YN.ACTIONS.RESET_USER_PASSWORD,{password:h.password,token:t.token}):d.commit(c.SY.MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return d.dispatch(c.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:h.email});case"account-confirmation-resend":return d.dispatch(c.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,{email:h.email});default:d.dispatch(c.YN.ACTIONS.LOGIN_OR_REGISTER,{actionType:e,formData:h,redirectUrl:n.query.from})}}function W(){h.username="",h.email="",h.password=""}return(0,r.YP)((()=>n.path),(async()=>{d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),d.commit(c.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),d.commit(c.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),y.value=!1,W()})),(e,t)=>{const n=(0,r.up)("AlertMessage"),i=(0,r.up)("router-link"),c=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",{id:"user-auth-form",class:(0,a.C_)(`${["reset","reset-request"].includes((0,s.SU)(N))?(0,s.SU)(N):"user-form"}`)},[(0,r._)("div",m,[(0,r._)("div",{class:(0,a.C_)(["form-box",{disabled:(0,s.SU)(M)}])},[(0,s.SU)(M)?((0,r.wg)(),(0,r.j4)(n,{key:0,message:"user.REGISTER_DISABLED"})):(0,r.kq)("",!0),(0,s.SU)(z)||(0,s.SU)(k)?((0,r.wg)(),(0,r.iD)("div",S,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,s.SU)(k)?"REGISTRATION":"UPDATE"))),1)):(0,r.kq)("",!0),(0,r._)("form",{class:(0,a.C_)({errors:y.value}),onSubmit:t[2]||(t[2]=(0,o.iM)((e=>F((0,s.SU)(N))),["prevent"]))},[(0,r._)("div",_,["register"===(0,s.SU)(N)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:0,id:"username",disabled:(0,s.SU)(M),required:"",pattern:"[a-zA-Z0-9_]+",minlength:"3",maxlength:"30",onInvalid:L,"onUpdate:modelValue":t[0]||(t[0]=e=>(0,s.SU)(h).username=e),placeholder:e.$t("user.USERNAME")},null,40,E)),[[o.nr,(0,s.SU)(h).username]]):(0,r.kq)("",!0),"register"===(0,s.SU)(N)?((0,r.wg)(),(0,r.iD)("div",p,[T,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.USERNAME_INFO")),1)])):(0,r.kq)("",!0),"reset"!==(0,s.SU)(N)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:2,id:"email",disabled:(0,s.SU)(M),required:"",onInvalid:L,type:"email","onUpdate:modelValue":t[1]||(t[1]=e=>(0,s.SU)(h).email=e),placeholder:e.$t("user.EMAIL")},null,40,A)),[[o.nr,(0,s.SU)(h).email]]):(0,r.kq)("",!0),["reset-request","register","account-confirmation-resend"].includes((0,s.SU)(N))?((0,r.wg)(),(0,r.iD)("div",U,[O,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.EMAIL_INFO")),1)])):(0,r.kq)("",!0),["account-confirmation-resend","reset-request"].includes((0,s.SU)(N))?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(l.Z,{key:4,disabled:(0,s.SU)(M),required:!0,placeholder:"reset"===(0,s.SU)(N)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:(0,s.SU)(h).password,checkStrength:["reset","register"].includes((0,s.SU)(N)),onUpdatePassword:G,onPasswordError:L},null,8,["disabled","placeholder","password","checkStrength"]))]),(0,r._)("button",{type:"submit",disabled:(0,s.SU)(M)},(0,a.zw)(e.$t((0,s.SU)(C))),9,R)],34),"login"===(0,s.SU)(N)?((0,r.wg)(),(0,r.iD)("div",I,[(0,r.Wm)(i,{class:"links",to:"/register"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.REGISTER")),1)])),_:1}),g,(0,r.Wm)(i,{class:"links",to:"/password-reset/request"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.PASSWORD_FORGOTTEN")),1)])),_:1})])):(0,r.kq)("",!0),"register"===(0,s.SU)(N)?((0,r.wg)(),(0,r.iD)("div",w,[(0,r._)("span",v,(0,a.zw)(e.$t("user.ALREADY_HAVE_ACCOUNT")),1),(0,r.Wm)(i,{class:"links",to:"/login"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.LOGIN")),1)])),_:1})])):(0,r.kq)("",!0),["login","register"].includes((0,s.SU)(N))?((0,r.wg)(),(0,r.iD)("div",f,[(0,r.Wm)(i,{class:"links",to:"/account-confirmation/resend"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.ACCOUNT_CONFIRMATION_NOT_RECEIVED")),1)])),_:1})])):(0,r.kq)("",!0),(0,s.SU)(D)?((0,r.wg)(),(0,r.j4)(c,{key:5,message:(0,s.SU)(D)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),h=n(3744);const C=(0,h.Z)(N,[["__scopeId","data-v-21d76483"]]);var D=C},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});var r=n(6252),a=n(2262),s=n(2024);const o={class:"user-picture"},i=["alt","src"],l={key:1,class:"no-picture"},c=(0,r._)("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),u=[c];var d=(0,r.aZ)({props:{user:null},setup(e){const t=e,n=(0,r.Fl)((()=>t.user.picture?`${(0,s.k)()}users/${t.user.username}/picture?${Date.now()}`:""));return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[""!==(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:(0,a.SU)(n)},null,8,i)):((0,r.wg)(),(0,r.iD)("div",l,u))]))}});const m=d;var S=m},5630:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577);const s={class:"no-workouts box"};function o(e,t){const n=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("div",null,[(0,r.Uk)((0,a.zw)(e.$t("workouts.NO_WORKOUTS"))+" ",1),(0,r.Wm)(n,{to:"/workouts/add"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)])),_:1})])])}var i=n(3744);const l={},c=(0,i.Z)(l,[["render",o],["__scopeId","data-v-4b4d15fb"]]);var u=c},4612:function(e,t,n){var r={"./en/en.ts":9350,"./fr/fr.ts":1079};function a(e){var t=s(e);return n(t)}function s(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=s,e.exports=a,a.id=4612}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}n.m=e,function(){var e=[];n.O=function(t,r,a,s){if(!r){var o=1/0;for(u=0;u=s)&&Object.keys(n.O).every((function(e){return n.O[e](r[l])}))?r.splice(l--,1):(i=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[r,a,s]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"===typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"===typeof r.then)return r}var s=Object.create(null);n.r(s);var o={};e=e||[null,t({}),t([]),t(t)];for(var i=2&a&&r;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){o[e]=function(){return r[e]}}));return o["default"]=function(){return r},n.d(s,o),s}}(),function(){n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))}}(),function(){n.u=function(e){return"static/js/"+({24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile",881:"password"}[e]||e)+"."+{24:"04930981",93:"6f43c046",193:"5b24903f",243:"1c009238",328:"5ec56937",401:"964c0bc7",431:"2dd6d03a",633:"05b59575",845:"38438c89",858:"3eeaffeb",881:"23cdd304"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"91fe968e",328:"73df498d",401:"66f98dac",845:"203e78e2"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="fittrackee_client:";n.l=function(r,a,s,o){if(e[r])e[r].push(a);else{var i,l;if(void 0!==s)for(var c=document.getElementsByTagName("script"),u=0;u {\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import { 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","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact the administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee is a self-hosted outdoor activity tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"under \", _interpolate(_list(0)), \" license \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Source code\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activate account\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administrator email for contact\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no contact email\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to reset \", _interpolate(_list(0)), \" password?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current email\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The password has been reset.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset password\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The email address has been updated.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account status\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The new email must be different than curent email\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that username is already taken.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A valid email must be provided for admininstrator contact\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend confirmation email\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"about\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems to have encountered some issues.
Please try again later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Something went wrong\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Snowshoes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Didn't received instructions?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. A new confirmation email has been sent to the address provided.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current password\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a valid email address.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter on username\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"log in\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New password\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No users found.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"At least 8 characters required.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"weak\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"good\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"strong\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"password strength\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid predictable letter substitutions like \", \"@\", \" for a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid reversed spellings of common words.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize some, but not all letters.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize more than the first letter.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid dates and years that are associated with you.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid recent years.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid years that are associated with you.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid common character sequences.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid repeated words and characters.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use longer keyboard patterns and change typing direction multiple times.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add more words that are less common.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use multiple words, but avoid common phrases.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can create strong passwords without using symbols, numbers, or uppercase letters.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If you use this password elsewhere, you should change it.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account edition\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Please \", _interpolate(_list(0)), \" to change your email address again or contact the administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully. Please check your email to confirm your new email address.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A link to activate your account has been emailed to the address provided.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend account confirmation email\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"show password\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user account is inactive.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 to 30 characters required, only alphanumeric characters and the underscore character \\\"_\\\" allowed.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farthest distance\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start and finish\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AboutTranslations from './about.json'\nimport 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 about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contacter l'administrateur\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee est un tracker d'activités sportives (en extérieur).\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"sous license \", _interpolate(_list(0)), \" (en)\"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Code source (en)\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer le compte\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email de l'administrateur pour contact \"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"non renseigné\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur \", _interpolate(_list(0)), \" ?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse email actuelle\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouvelle adresse email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le mot de passe a été réinitialisé.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit. le mot de passe\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changer l'email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'adresse email a été mise à jour.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les droits d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les droits d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"statut du compte\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email : une adresse email valide doit être fournie.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur Réseau.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La nouvelle addresse email doit être differente de l'adresse actuelle\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, ce nom d'utilisateur est déjà utilisé.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une adresse email doit être fournie pour le contact de l'administrateur.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau l'email de confirmation\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit.\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à propos\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de Bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur s'est produite\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Electrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Raquettes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas reçu les instructions ?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email fournie.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe actuel\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir un mot de passe\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer sur le nom d'utilisateur\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"connecter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouveau mot de passe\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aucun utilisateur trouvé.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"8 caractères minimum.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"faible\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"moyenne\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bonne\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"forte\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"robustesse du mot de passe \"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les substitutions de lettres prévisibles comme \", \"@\", \" pour a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les orthographes inversées des mots courants\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettez quelques lettres en majuscules, mais pas toutes.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalisez mais pas seulement la première lettre.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dates et les années qui vous sont associées. (ex: date ou année de naissance)\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dernières années.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les années qui vous sont associées. (ex: date de naissance)\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les séquences de caractères courantes.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les mots et les caractères répétés.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez des mots moins courants.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez plusieurs mots, mais évitez les phrases courantes.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du compte\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Veuillez vous \", _interpolate(_list(0)), \" pour changer de nouveau votre adresse email ou contacter l'administrateur\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"compte\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances \"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès. Veuillez vérifier votre boite email pour valider votre nouvelle adresse email.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Un lien pour activer votre compte a été envoyé à l'adresse email fournie.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès.\"])},\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau l'email de confirmation de compte\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher le mot de passe\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le compte de cet utilisateur est inactif.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère \\\"_\\\" sont autorisés.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Départ et arrivée\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AboutTranslations from './about.json'\nimport 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 about: AboutTranslations,\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","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2c73279e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_6 = { class: \"footer-item\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"footer-item bullet\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"footer-item\"\n}\nconst _hoisted_9 = [\"href\"]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_11 = { class: \"footer-item\" }\nconst _hoisted_12 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n adminContact?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n version: null,\n adminContact: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n adminContact?: string\n }\n\n \n\n const { adminContact, version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, { to: \"/about\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('common.ABOUT')), 1)\n ]),\n _: 1\n })\n ]),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, \"•\"))\n : _createCommentVNode(\"\", true),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(adminContact)}`\n }, _toDisplayString(_ctx.$t('common.CONTACT')), 9, _hoisted_9)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"a\", _hoisted_12, _toDisplayString(_ctx.$t('common.DOCUMENTATION')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=2c73279e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2c73279e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0d4f0b8f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !_unref(isMenuOpen) }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=0d4f0b8f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0d4f0b8f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47759238\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"no-config\" }\nconst _hoisted_2 = { class: \"error-page\" }\nconst _hoisted_3 = { class: \"error-img\" }\nconst _hoisted_4 = [\"innerHTML\"]\n\nimport ErrorImg from '@/components/Common/Images/ErrorImg.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(ErrorImg)\n ]),\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('error.APP_ERROR')\n }, null, 8, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=47759238&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47759238\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1)\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG))\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : '',\n adminContact: _unref(appConfig).admin_contact\n }, null, 8, [\"version\", \"adminContact\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=c446fb44&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69d7e4ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=69d7e4ff&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-69d7e4ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, isRef as _isRef, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3ec2aca2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { type: Boolean, default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string }\n\n \n\n \n\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(text) ? (text).value = $event : text = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, _unref(text)]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(_unref(text).length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=3ec2aca2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3ec2aca2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f46ff1d6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: { type: Boolean },\n digits: { default: 2 },\n displayUnit: { type: Boolean, default: true },\n speed: { type: Boolean, default: false },\n strong: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=f46ff1d6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f46ff1d6\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ca61364c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (_unref(isOpen))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ca61364c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2659a79a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=2659a79a&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2659a79a\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Snowshoes.vue?vue&type=template&id=67df2761\"\nimport script from \"./Snowshoes.vue?vue&type=script&lang=js\"\nexport * from \"./Snowshoes.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Snowshoes from '@/components/Common/Images/SportImage/Snowshoes.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 11 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=4c9921ee&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=4c9921ee&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c9921ee\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e8fcfaba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=e8fcfaba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e8fcfaba\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\nimport VueFullscreen from 'vue-fullscreen'\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 .use(VueFullscreen, { name: 'VFullscreen' })\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-24ec93e2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"admin_contact\" }\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = { for: \"max_users\" }\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = { class: \"user-limit-help\" }\nconst _hoisted_9 = { class: \"info-box\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { for: \"max_single_file_size\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { for: \"max_zip_file_size\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { for: \"gpx_limit_import\" }\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_18 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n toRefs,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n edition: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n const { edition } = toRefs(props)\n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n admin_contact: '',\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ADMIN_CONTACT')) + \": \", 1),\n (!_unref(edition) && !_unref(appData).admin_contact)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"no-contact\",\n value: _ctx.$t('admin.APP_CONFIG.NO_CONTACT_EMAIL'),\n disabled: \"\"\n }, null, 8, _hoisted_4))\n : _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 1,\n id: \"admin_contact\",\n name: \"admin_contact\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(appData).admin_contact) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_5)), [\n [_vModelText, _unref(appData).admin_contact]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(appData).max_users) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_7), [\n [_vModelText, _unref(appData).max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(appData).max_single_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_12), [\n [_vModelText, _unref(appData).max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(appData).max_zip_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_14), [\n [_vModelText, _unref(appData).max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(appData).gpx_limit_import) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_16), [\n [_vModelText, _unref(appData).gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(edition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", _hoisted_18, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_19)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=24ec93e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-24ec93e2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=6cbb3351&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=61c5053e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcb269a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_4 = { class: \"registration-status\" }\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=1bcb269a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcb269a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6d62af67\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d62af67&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6d62af67\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withKeys as _withKeys, createElementVNode as _createElementVNode, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-627a8e91\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"users-filters\" }\nconst _hoisted_2 = { class: \"search-username\" }\nconst _hoisted_3 = [\"onKeyup\", \"placeholder\"]\n\nimport { ref } from 'vue'\n import { useRoute } from 'vue-router'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['filterOnUsername'],\n setup(__props, { emit }) {\n\n const route = useRoute()\n const username = ref(route.query.q ? route.query.q : '')\n\n \n function searchUsers() {\n if (username.value !== '') {\n emit('filterOnUsername', username)\n }\n }\n function resetFilter() {\n username.value = ''\n emit('filterOnUsername', username.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"username\",\n name: \"username\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((username).value = $event)),\n onKeyup: _withKeys(searchUsers, [\"enter\"]),\n placeholder: _ctx.$t('user.FILTER_ON_USERNAME')\n }, null, 40, _hoisted_3), [\n [\n _vModelText,\n username.value,\n void 0,\n { trim: true }\n ]\n ]),\n (username.value !== '')\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-times\",\n \"aria-hidden\": \"true\",\n onClick: resetFilter\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-search\", { 'fa-disabled': username.value === '' }]),\n \"aria-hidden\": \"true\",\n onClick: searchUsers\n }, null, 2)\n ]))\n}\n}\n\n})","import script from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./UsersNameFilter.vue?vue&type=style&index=0&id=627a8e91&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-627a8e91\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4735c10f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"no-users\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"responsive-table\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"left-text\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"text-center\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"text-center\" }\nconst _hoisted_17 = { class: \"cell-heading\" }\nconst _hoisted_18 = { class: \"text-center\" }\nconst _hoisted_19 = { class: \"cell-heading\" }\nconst _hoisted_20 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import UsersNameFilter from '@/components/Users/UsersNameFilter.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'is_active',\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function searchUsers(username: Ref) {\n reloadUsers('q', username.value)\n }\n\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(UsersNameFilter, { onFilterOnUsername: searchUsers }),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(users).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('user.NO_USERS_FOUND')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_4,\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/admin/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.is_active ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_20)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=4735c10f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4735c10f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n tabs: null,\n selectedTab: null,\n edition: { type: Boolean },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'ACCOUNT':\n case 'PICTURE':\n return `/profile/edit/${tab.toLocaleLowerCase()}`\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab) === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=40025245&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e26535e0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=e26535e0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e26535e0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'ACCOUNT', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-46fcf129\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = {\n class: \"form-items\",\n for: \"password-field\"\n}\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"new-password-field\"\n}\nconst _hoisted_9 = { class: \"form-buttons\" }\nconst _hoisted_10 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n watch,\n onUnmounted,\n } from 'vue'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserAccountPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n const { user } = toRefs(props)\n\n const store = useStore()\n const userForm: IUserAccountPayload = reactive({\n email: '',\n password: '',\n new_password: '',\n })\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const emailUpdate = ref(false)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const formErrors = ref(false)\n const displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function invalidateForm() {\n formErrors.value = true\n }\n function updateUserForm(user: IUserProfile) {\n userForm.email = user.email\n }\n function updatePassword(password: string) {\n userForm.password = password\n }\n function updateNewPassword(new_password: string) {\n userForm.new_password = new_password\n }\n function updateProfile() {\n const payload: IUserAccountPayload = {\n email: userForm.email,\n password: userForm.password,\n }\n if (userForm.new_password) {\n payload.new_password = userForm.new_password\n }\n emailUpdate.value = userForm.email !== user.value.email\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT, payload)\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 onUnmounted(() => {\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\n watch(\n () => isSuccess.value,\n async (isSuccessValue) => {\n if (isSuccessValue) {\n updatePassword('')\n updateNewPassword('')\n updateUserForm(user.value)\n formErrors.value = false\n }\n }\n )\n watch(\n () => user.value.email,\n async () => {\n updateUserForm(user.value)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(`user.PROFILE.SUCCESSFUL_${emailUpdate.value ? 'EMAIL_' : ''}UPDATE`)), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).email) = $event)),\n disabled: _unref(loading),\n required: true,\n onInvalid: invalidateForm\n }, null, 40, _hoisted_6), [\n [_vModelText, _unref(userForm).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.CURRENT_PASSWORD')) + \"* \", 1),\n _createVNode(PasswordInput, {\n id: \"password-field\",\n disabled: _unref(loading),\n password: _unref(userForm).password,\n required: true,\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.NEW_PASSWORD')) + \" \", 1),\n _createVNode(PasswordInput, {\n id: \"new-password-field\",\n disabled: _unref(loading),\n checkStrength: true,\n password: _unref(userForm).new_password,\n isSuccess: false,\n onUpdatePassword: updateNewPassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", _hoisted_10, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 42, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAccountEdition.vue?vue&type=style&index=0&id=46fcf129&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-46fcf129\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b6bacea0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_9 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { class: \"form-items\" }\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPayload = reactive({\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\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\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_7), [\n [_vModelText, _unref(userForm).first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).last_name) = $event))\n }, null, 512), [\n [_vModelText, _unref(userForm).last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_10), [\n [_vModelText, _unref(userForm).birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(userForm).location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_12), [\n [_vModelText, _unref(userForm).location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: _unref(userForm).bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=b6bacea0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b6bacea0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3a97bb3c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs, onUnmounted } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !_unref(pictureFile)\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=3a97bb3c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3a97bb3c\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47ea2903\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n input: null,\n disabled: { type: Boolean, default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref_key: \"tzList\",\n ref: tzList\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=47ea2903&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47ea2903\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const imperialUnits = [\n {\n label: 'IMPERIAL',\n value: true,\n },\n {\n label: 'METRIC',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, _unref(userForm).language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: _unref(userForm).timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"weekm\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).weekm) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"option\", {\n value: start.value,\n key: start.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 9, _hoisted_10)\n }), 64))\n ], 8, _hoisted_9), [\n [_vModelSelect, _unref(userForm).weekm]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"imperial_units\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).imperial_units) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"option\", {\n value: unit.value,\n key: unit.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 9, _hoisted_13)\n }), 64))\n ], 8, _hoisted_12), [\n [_vModelSelect, _unref(userForm).imperial_units]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4775544a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\", \"onClick\"]\nconst _hoisted_25 = [\"disabled\"]\nconst _hoisted_26 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_27 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n isEdition: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const sportColors = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, 'is_active', user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color ? sport.color : sportColors[sport.label]\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n function resetSport(event: Event, sportId: number) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES,\n sportId\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: _unref(sportPayload).color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && _unref(sportPayload).sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _unref(sportPayload).stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (_unref(sportPayload).sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: (e) => resetSport(e, sport.id)\n }, _toDisplayString(_ctx.$t('buttons.RESET')), 9, _hoisted_24),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_25)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=4775544a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4775544a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74257266\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"about-text\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-book fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-github fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = {\n href: \"https://github.com/SamR1/FitTrackee\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-balance-scale fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://choosealicense.com/licenses/agpl-3.0/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}, \" AGPLv3 \", -1))\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-envelope-o fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\"href\"]\n\nimport { ComputedRef, computed, capitalize } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('about.FITTRACKEE_DESCRIPTION')\n }, null, 8, _hoisted_2),\n _createElementVNode(\"p\", null, [\n _hoisted_3,\n _createElementVNode(\"a\", _hoisted_4, _toDisplayString(capitalize(_ctx.$t('common.DOCUMENTATION'))), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_5,\n _createElementVNode(\"a\", _hoisted_6, _toDisplayString(_ctx.$t('about.SOURCE_CODE')), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_7,\n _createVNode(_component_i18n_t, { keypath: \"about.FITTRACKEE_LICENSE\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n })\n ]),\n (_unref(appConfig).admin_contact)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(appConfig).admin_contact}`\n }, _toDisplayString(_ctx.$t('about.CONTACT_ADMIN')), 9, _hoisted_11)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./About.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./About.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./About.vue?vue&type=style&index=0&id=74257266&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74257266\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=795f7f5f&scoped=true\"\nconst script = {}\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=795f7f5f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-795f7f5f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bffb50d0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"about\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub about-details\" }\n\nimport About from '@/components/About.vue'\n import BikePic from '@/components/BikePic.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(About)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./AboutView.vue?vue&type=style&index=0&id=bffb50d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bffb50d0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c9d1f10c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"timeline-workout\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"workout-user-date\" }\nconst _hoisted_4 = { class: \"workout-user\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = {\n key: 1,\n class: \"no-map\"\n}\nconst _hoisted_8 = { class: \"img\" }\nconst _hoisted_9 = { class: \"data\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"data\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"data elevation\"\n}\nconst _hoisted_15 = [\"alt\"]\nconst _hoisted_16 = { class: \"data-values\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"/ \")\nconst _hoisted_18 = {\n key: 1,\n class: \"data altitude\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_20 = { class: \"data-values\" }\nconst _hoisted_21 = /*#__PURE__*/_createTextVNode(\" +\")\nconst _hoisted_22 = /*#__PURE__*/_createTextVNode(\"/- \")\n\nimport { Locale, format, formatDistance } from 'date-fns'\n import { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import StaticMap from '@/components/Common/StaticMap.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n user: IUserProfile\n useImperialUnits: boolean\n workout?: IWorkout\n sport?: ISport\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n useImperialUnits: { type: Boolean },\n workout: { default: () => ({} as IWorkout) },\n sport: { default: () => ({} as ISport) }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, useImperialUnits: boolean, workout: IWorkout, sport: ISport }\n\n \n\n const store = useStore()\n\n const { user, workout, sport, useImperialUnits } = toRefs(props)\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n (_unref(user).username)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-user-name\",\n to: {\n name: 'User',\n params: { username: _unref(user).username },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(user).username), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-title\",\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(workout).title), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true),\n (_unref(workout).workout_date && _unref(user))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"workout-date\",\n title: \n _unref(format)(\n _unref(getDateWithTZ)(_unref(workout).workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )\n \n }, _toDisplayString(_unref(formatDistance)(new Date(_unref(workout).workout_date), new Date(), {\n addSuffix: true,\n locale: _unref(locale),\n })), 9, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-map\", { 'no-cursor': !_unref(workout) }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_unref(workout).with_gpx)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: _unref(workout)\n }, null, 8, [\"workout\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-data\", { 'without-gpx': _unref(workout) && !_unref(workout).with_gpx }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(sport).label)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_unref(workout).moving), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).distance,\n digits: 3,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_15),\n _createElementVNode(\"div\", _hoisted_16, [\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).min_alt,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_17,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).max_alt,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).ascent,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_22,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=c9d1f10c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-c9d1f10c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9ef2a9ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"timeline\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = {\n key: 1,\n class: \"more-workouts\"\n}\n\nimport { ComputedRef, computed, ref, onBeforeMount, toRefs } from 'vue'\n\n import WorkoutCard from '@/components/Workout/WorkoutCard.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n let page = ref(1)\n const per_page = 5\n const initWorkoutsCount =\n props.user.nb_workouts >= per_page ? per_page : props.user.nb_workouts\n onBeforeMount(() => loadWorkouts())\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]\n )\n const moreWorkoutsExist: ComputedRef = computed(() =>\n workouts.value.length > 0\n ? workouts.value[workouts.value.length - 1].previous_workout !== null\n : false\n )\n\n function loadWorkouts() {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n function loadMoreWorkouts() {\n page.value += 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.LATEST_WORKOUTS')), 1),\n (_unref(user).nb_workouts > 0 && _unref(workouts).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList([...Array(_unref(initWorkoutsCount)).keys()], (index) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: index\n }, null, 8, [\"user\", \"useImperialUnits\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n workout: workout,\n sport: \n _unref(workouts).length > 0\n ? _unref(sports).filter((s) => s.id === workout.sport_id)[0]\n : null\n ,\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: workout.id\n }, null, 8, [\"workout\", \"sport\", \"user\", \"useImperialUnits\"]))\n }), 128)),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(moreWorkoutsExist))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", { onClick: loadMoreWorkouts }, _toDisplayString(_ctx.$t('workouts.LOAD_MORE_WORKOUT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}\n}\n\n})","import script from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=9ef2a9ac&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-9ef2a9ac\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n interface Props {\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workout: null,\n sportLabel: null,\n sportColor: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n\n \n\n const { workout, sportLabel, sportColor } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-workout\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _ctx.$router.push({ name: 'Workout', params: { workoutId: _unref(workout).id } })\n ))\n }, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sportLabel),\n title: _unref(workout).title,\n color: _unref(sportColor)\n }, null, 8, [\"sport-label\", \"title\", \"color\"]),\n _createElementVNode(\"sup\", null, [\n (_unref(workout).records.length > 0)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\",\n title: \n _unref(workout).records.map(\n (record) => ` ${_ctx.$t(`workouts.RECORD_${record.record_type}`)}`\n )\n \n }, null, 8, _hoisted_1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=7de0052b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"donut-chart\" }\nconst _hoisted_2 = {\n height: \"34\",\n width: \"34\",\n viewBox: \"0 0 34 34\"\n}\nconst _hoisted_3 = [\"stroke\", \"stroke-dashoffset\", \"transform\"]\n\nimport { toRefs } from 'vue'\n\n interface Props {\n colors: Record\n datasets: Record>\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n colors: null,\n datasets: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n }\n\n \n\n const { colors, datasets } = toRefs(props)\n let angleOffset = -90\n const cx = 16\n const cy = 16\n const radius = 14\n const circumference = 2 * Math.PI * radius\n\n function calculateStrokeDashOffset(\n percentage: number,\n circumference: number\n ): number {\n return circumference - percentage * circumference\n }\n function returnCircleTransformValue(\n index: number,\n percentage: number\n ): string {\n const rotation = `rotate(${angleOffset}, ${cx}, ${cy})`\n angleOffset = percentage * 360 + angleOffset\n return rotation\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.entries(_unref(datasets)), (data, index) => {\n return (_openBlock(), _createElementBlock(\"g\", { key: index }, [\n _createElementVNode(\"circle\", {\n cx: cx,\n cy: cy,\n r: radius,\n fill: \"transparent\",\n stroke: _unref(colors)[+data[0]],\n \"stroke-dashoffset\": \n calculateStrokeDashOffset(data[1].percentage, circumference)\n ,\n \"stroke-dasharray\": circumference,\n \"stroke-width\": \"3\",\n \"stroke-opacity\": \"0.8\",\n transform: returnCircleTransformValue(index, data[1].percentage)\n }, null, 8, _hoisted_3)\n ]))\n }), 128))\n ]))\n ]))\n}\n}\n\n})","import script from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52d4310a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-workouts-chart\" }\nconst _hoisted_2 = { class: \"workouts-count\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-pane\"\n}\nconst _hoisted_4 = { class: \"more-workouts\" }\n\nimport { ref, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import DonutChart from '@/components/Dashboard/UserCalendar/DonutChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n\n interface Props {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n colors: null,\n datasets: null,\n sports: null,\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n\n \n\n const { colors, datasets, sports, workouts } = toRefs(props)\n const isHidden = ref(true)\n\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_click_outside = _resolveDirective(\"click-outside\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"workouts-chart\",\n onClick: togglePane\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(workouts).length), 1),\n _createVNode(DonutChart, {\n datasets: _unref(datasets),\n colors: _unref(colors)\n }, null, 8, [\"datasets\", \"colors\"])\n ]),\n (!isHidden.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fa fa-times calendar-more\",\n \"aria-hidden\": \"true\",\n onClick: togglePane\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ])), [\n [_directive_click_outside, togglePane]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=52d4310a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52d4310a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-workouts\" }\nconst _hoisted_2 = { class: \"desktop-display\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-display\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"donut-display\"\n}\nconst _hoisted_5 = { class: \"mobile-display\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"donut-display\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import CalendarWorkoutsChart from '@/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n interface Props {\n workouts: IWorkout[]\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workouts: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workouts: IWorkout[]\n sports: ISport[]\n }\n\n \n\n const { workouts, sports } = toRefs(props)\n const chartDatasets = computed(() => getDonutDatasets(props.workouts))\n const colors = computed(() => sportIdColors(props.sports))\n const displayedWorkoutCount = 6\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(workouts).length <= displayedWorkoutCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts).slice(0, displayedWorkoutCount), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=4663dbac&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-cells\" }\nconst _hoisted_2 = { class: \"calendar-cell-day\" }\n\nimport { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import { Ref, ref, toRefs, watch, onMounted } from 'vue'\n\n import CalendarWorkouts from '@/components/Dashboard/UserCalendar/CalendarWorkouts.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n currentDay: Date\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n currentDay: null,\n endDate: null,\n sports: null,\n startDate: null,\n timezone: null,\n weekStartingMonday: { type: Boolean },\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n currentDay: Date\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n\n \n\n const {\n currentDay,\n endDate,\n sports,\n startDate,\n timezone,\n weekStartingMonday,\n workouts,\n } = toRefs(props)\n const rows: Ref = ref([])\n\n onMounted(() => getDays())\n\n function getDays() {\n rows.value = []\n let day = startDate.value\n while (day <= endDate.value) {\n const days: Date[] = []\n for (let i = 0; i < 7; i++) {\n days.push(day)\n day = addDays(day, 1)\n }\n rows.value.push(days)\n }\n }\n function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(getDateWithTZ(workout.workout_date, timezone.value), day)\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(rows.value, (row, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-row\",\n key: index\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row, (day, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"calendar-cell\", {\n 'disabled-cell': !_unref(isSameMonth)(day, _unref(currentDay)),\n 'week-end': isWeekEnd(i),\n today: _unref(isToday)(day),\n }]),\n key: i\n }, [\n _createVNode(CalendarWorkouts, {\n workouts: filterWorkouts(day, _unref(workouts)),\n sports: _unref(sports)\n }, null, 8, [\"workouts\", \"sports\"]),\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(format)(day, 'd')), 1)\n ], 2))\n }), 128))\n ]))\n }), 128))\n ]))\n}\n}\n\n})","import script from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=73426002&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-days\" }\n\nimport { Locale, format, addDays } from 'date-fns'\n\n interface Props {\n startDate: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n startDate: null,\n localeOptions: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n startDate: Date\n localeOptions: Locale\n }\n\n \n\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(days, (day, index) => {\n return _createElementVNode(\"div\", {\n class: \"calendar-day\",\n key: index\n }, _toDisplayString(_unref(format)(day, 'EEE', { locale: __props.localeOptions })), 1)\n }), 64))\n ]))\n}\n}\n\n})","import script from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=4f3dc99e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-header\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = { class: \"calendar-month\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { Locale, format } from 'date-fns'\n import { toRefs } from 'vue'\n\n interface Props {\n day: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n day: null,\n localeOptions: null\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n day: Date\n localeOptions: Locale\n }\n\n \n\n \n\n const { day, localeOptions } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-left\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('displayPreviousMonth')))\n }, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(format)(_unref(day), 'MMM yyyy', { locale: _unref(localeOptions) })), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-right\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('displayNextMonth')))\n }, _hoisted_6)\n ]))\n}\n}\n\n})","import script from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=79a65a70&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-calendar\" }\nconst _hoisted_2 = { class: \"calendar-card box\" }\n\nimport { Locale, addMonths, format, subMonths } from 'date-fns'\n import { ComputedRef, computed, ref, toRefs, onBeforeMount } from 'vue'\n\n import CalendarCells from '@/components/Dashboard/UserCalendar/CalendarCells.vue'\n import CalendarDays from '@/components/Dashboard/UserCalendar/CalendarDays.vue'\n import CalendarHeader from '@/components/Dashboard/UserCalendar/CalendarHeader.vue'\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getCalendarStartAndEnd } from '@/utils/dates'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const dateFormat = 'yyyy-MM-dd'\n let day = ref(new Date())\n let calendarDates = ref(getCalendarStartAndEnd(day.value, props.user.weekm))\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n const localeOptions: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\n onBeforeMount(() => getCalendarWorkouts())\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(day.value, props.user.weekm)\n const apiParams: TWorkoutsPayload = {\n from: format(calendarDates.value.start, dateFormat),\n to: format(calendarDates.value.end, dateFormat),\n page: 1,\n per_page: 100,\n ...defaultOrder,\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS, apiParams)\n }\n function displayNextMonth() {\n day.value = addMonths(day.value, 1)\n getCalendarWorkouts()\n }\n function displayPreviousMonth() {\n day.value = subMonths(day.value, 1)\n getCalendarWorkouts()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(CalendarHeader, {\n day: _unref(day),\n \"locale-options\": _unref(localeOptions),\n onDisplayNextMonth: displayNextMonth,\n onDisplayPreviousMonth: displayPreviousMonth\n }, null, 8, [\"day\", \"locale-options\"]),\n _createVNode(CalendarDays, {\n \"start-date\": _unref(calendarDates).start,\n \"locale-options\": _unref(localeOptions)\n }, null, 8, [\"start-date\", \"locale-options\"]),\n _createVNode(CalendarCells, {\n currentDay: _unref(day),\n \"end-date\": _unref(calendarDates).end,\n sports: _unref(sports),\n \"start-date\": _unref(calendarDates).start,\n timezone: _unref(user).timezone,\n workouts: _unref(calendarWorkouts),\n weekStartingMonday: _unref(user).weekm\n }, null, 8, [\"currentDay\", \"end-date\", \"sports\", \"start-date\", \"timezone\", \"workouts\", \"weekStartingMonday\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=4b0ade2c&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcddc12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-month-stats\" }\n\nimport { endOfMonth, startOfMonth } from 'date-fns'\n import { toRefs } from 'vue'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { sports, user } = toRefs(props)\n const date = new Date()\n const chartParams = {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n }\n const selectedSportIds = props.sports.map((sport) => sport.id)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.THIS_MONTH')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(StatChart, {\n sports: _unref(sports),\n user: _unref(user),\n \"chart-params\": chartParams,\n \"displayed-sport-ids\": _unref(selectedSportIds),\n \"hide-chart-if-no-data\": true\n }, null, 8, [\"sports\", \"user\", \"displayed-sport-ids\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=1bcddc12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcddc12\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-aee1f956\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"records-card\" }\nconst _hoisted_2 = { class: \"record-type\" }\nconst _hoisted_3 = { class: \"record-value\" }\nconst _hoisted_4 = { class: \"record-date\" }\n\nimport { toRefs } from 'vue'\n\n import { IRecordsBySports } from '@/types/workouts'\n\n interface Props {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n records: null,\n sportTranslatedLabel: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n\n \n\n const { records, sportTranslatedLabel } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(records).label,\n color: _unref(records).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(sportTranslatedLabel)), 1)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(records).records, (record) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"record\",\n key: record.id\n }, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.$t(`workouts.RECORD_${record.record_type}`)), 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(record.value), 1),\n _createElementVNode(\"span\", _hoisted_4, [\n _createVNode(_component_router_link, {\n to: {\n name: 'Workout',\n params: { workoutId: record.workout_id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(record.workout_date), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ])\n ]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=aee1f956&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-aee1f956\"]])\n\nexport default __exports__","import { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const unitFrom: TUnit = 'km'\n const unitTo: TUnit = useImperialUnits\n ? units[unitFrom].defaultTarget\n : unitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n unitFrom,\n unitTo,\n 2\n )} ${unitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(+record.value, unitFrom, unitTo, 3)} ${unitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\n workout_id: record.workout_id,\n id: record.id,\n record_type: record.record_type,\n value: value,\n }\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string,\n useImperialUnits: boolean\n): IRecordsBySports =>\n records.reduce((sportList: IRecordsBySports, record) => {\n const sport = translatedSports.find((s) => s.id === record.sport_id)\n if (sport && sport.label) {\n if (sportList[sport.translatedLabel] === void 0) {\n sportList[sport.translatedLabel] = {\n label: sport.label,\n color: sport.color,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(\n formatRecord(record, tz, useImperialUnits)\n )\n }\n return sportList\n }, {})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ae25a82a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-records-section\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"user-records\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"no-records\"\n}\n\nimport { computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import RecordsCard from '@/components/Dashboard/UserRecords/RecordsCard.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone,\n props.user.imperial_units\n )\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.RECORD', 2)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (Object.keys(_unref(recordsBySport)).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_RECORDS')), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.keys(_unref(recordsBySport)).sort(), (sportTranslatedLabel) => {\n return (_openBlock(), _createBlock(RecordsCard, {\n sportTranslatedLabel: sportTranslatedLabel,\n records: _unref(recordsBySport)[sportTranslatedLabel],\n key: sportTranslatedLabel,\n useImperialUnits: __props.user.imperial_units\n }, null, 8, [\"sportTranslatedLabel\", \"records\", \"useImperialUnits\"]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=ae25a82a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ae25a82a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { ComputedRef, computed, toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { TUnit } from '@/types/units'\n import { IAuthUserProfile } from '@/types/user'\n import { convertDistance, units } from '@/utils/units'\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const { user } = toRefs(props)\n const userTotalDuration: ComputedRef = computed(\n () => props.user.total_duration\n )\n const totalDuration = computed(() => get_duration(userTotalDuration))\n const defaultUnitFrom: TUnit = 'km'\n const unitTo: TUnit = user.value.imperial_units\n ? units[defaultUnitFrom].defaultTarget\n : defaultUnitFrom\n const totalDistance: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_distance, defaultUnitFrom, unitTo, 2)\n : parseFloat(user.value.total_distance.toFixed(2))\n )\n\n function get_duration(total_duration: ComputedRef) {\n const duration = total_duration.value.match(/day/g)\n ? total_duration.value.split(', ')[1]\n : total_duration.value\n return {\n days: total_duration.value.match(/day/g)\n ? `${total_duration.value.split(' ')[0]} ${\n total_duration.value.match(/days/g)\n ? t('common.DAY', 2)\n : t('common.DAY', 1)\n }`\n : `0 ${t('common.DAY', 2)},`,\n duration: `${duration.split(':')[0]}h ${duration.split(':')[1]}min`,\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(user).nb_workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"road\",\n value: _unref(totalDistance),\n text: _unref(unitTo) === 'mi' ? 'miles' : _unref(unitTo)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"clock-o\",\n value: _unref(totalDuration).days,\n text: _unref(totalDuration).duration\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(user).nb_sports,\n text: _ctx.$t('workouts.SPORT', _unref(user).nb_sports)\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=6c24b4fa&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20e19721\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"dashboard\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container mobile-menu\" }\nconst _hoisted_3 = { class: \"box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-calendar\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-bar-chart\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"container\" }\nconst _hoisted_13 = { class: \"container dashboard-container\" }\nconst _hoisted_14 = { class: \"left-container dashboard-sub-container\" }\nconst _hoisted_15 = { class: \"right-container dashboard-sub-container\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_17 = {\n key: 1,\n class: \"app-loading\"\n}\n\nimport { ComputedRef, Ref, computed, ref } from 'vue'\n\n import Timeline from '@/components/Dashboard/Timeline.vue'\n import UserCalendar from '@/components/Dashboard/UserCalendar/index.vue'\n import UserMonthStats from '@/components/Dashboard/UserMonthStats.vue'\n import UserRecords from '@/components/Dashboard/UserRecords/index.vue'\n import UserStatsCards from '@/components/Dashboard/UserStatsCards/index.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const isSelected: Ref = ref('calendar')\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n\n return (_unref(authUser).username && _unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'calendar' }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (updateDisplayColumn('calendar')))\n }, _hoisted_5, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'chart' }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayColumn('chart')))\n }, _hoisted_7, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'timeline' }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayColumn('timeline')))\n }, _hoisted_9, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'records' }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateDisplayColumn('records')))\n }, _hoisted_11, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(UserStatsCards, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(UserMonthStats, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'chart') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(UserRecords, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'records') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(UserCalendar, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'calendar') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(Timeline, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'timeline') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ])\n ]),\n _hoisted_16\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Loader)\n ]))\n}\n}\n\n})","import script from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=20e19721&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20e19721\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"not-found view\" }\n\nimport NotFound from '@/components/Common/NotFound.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(NotFound)\n ]))\n}\n}\n\n})","import script from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6a38125b\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"loginOrRegister\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub\" }\n\nimport { toRefs } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n action: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n action: string\n }\n\n \n\n const { action } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoginOrRegisterForm, { action: _unref(action) }, null, 8, [\"action\"])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=6a38125b&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6a38125b\"]])\n\nexport default __exports__","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 UserAccountEdition from '@/components/User/ProfileEdition/UserAccountEdition.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport AboutView from '@/views/AboutView.vue'\nimport Dashboard from '@/views/Dashboard.vue'\nimport NotFoundView from '@/views/NotFoundView.vue'\nimport LoginOrRegister from '@/views/user/LoginOrRegister.vue'\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: Dashboard,\n },\n {\n path: '/login',\n name: 'Login',\n component: LoginOrRegister,\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: LoginOrRegister,\n props: { action: 'register' },\n },\n {\n path: '/account-confirmation',\n name: 'AccountConfirmation',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/AccountConfirmationView.vue'\n ),\n },\n {\n path: '/account-confirmation/resend',\n name: 'AccountConfirmationResend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'account-confirmation-resend' },\n },\n {\n path: '/account-confirmation/email-sent',\n name: 'AccountConfirmationEmailSend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'email-sent' },\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: '/email-update',\n name: 'EmailUpdate',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/EmailUpdateView.vue'\n ),\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'account',\n name: 'UserAccountEdition',\n component: UserAccountEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'statistics' */ '@/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/:username',\n name: 'UserFromAdmin',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n props: { fromAdmin: true },\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/about',\n name: 'About',\n component: AboutView,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: NotFoundView,\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 '/account-confirmation',\n '/account-confirmation/resend',\n '/account-confirmation/email-sent',\n]\n\nconst pathsWithoutChecks = ['/email-update', '/about']\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (pathsWithoutChecks.includes(to.path)) {\n return next()\n }\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n }\n 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","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n CONFIRM_ACCOUNT = 'CONFIRM_ACCOUNT',\n CONFIRM_EMAIL = 'CONFIRM_EMAIL',\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 RESEND_ACCOUNT_CONFIRMATION_EMAIL = 'RESEND_ACCOUNT_CONFIRMATION_EMAIL',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n RESET_USER_SPORT_PREFERENCES = 'RESET_USER_SPORT_PREFERENCES',\n UPDATE_USER_ACCOUNT = 'UPDATE_USER_ACCOUNT',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n IS_SUCCESS = 'IS_SUCCESS',\n IS_REGISTRATION_SUCCESS = 'IS_REGISTRATION_SUCCESS',\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_IS_SUCCESS = 'UPDATE_USER_IS_SUCCESS',\n UPDATE_IS_REGISTRATION_SUCCESS = 'UPDATE_IS_REGISTRATION_SUCCESS',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_IS_SUCCESS = 'USERS_IS_SUCCESS',\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 UPDATE_IS_SUCCESS = 'UPDATE_IS_SUCCESS',\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","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n const data: Record = {}\n if (payload.admin !== undefined) {\n data.admin = payload.admin\n }\n if (payload.resetPassword) {\n data.reset_password = payload.resetPassword\n }\n if (payload.activate) {\n data.activate = payload.activate\n }\n if (payload.new_email !== undefined) {\n data.new_email = payload.new_email\n }\n authApi\n .patch(`users/${payload.username}`, data)\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 if (payload.resetPassword || payload.new_email) {\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n }\n if (payload.activate || payload.new_email) {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserAccountPayload,\n IUserDeletionPayload,\n IUserAccountUpdatePayload,\n IUserEmailPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/confirm', { token: payload.token })\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(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_EMAIL](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n api\n .post('/auth/email/update', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n if (payload.refreshUser) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => {\n return router.push('/profile/edit/account')\n })\n }\n router.push('/profile/edit/account')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\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 context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n if (data.actionType === 'login') {\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 router\n .push('/login')\n .then(() =>\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n true\n )\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_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n authApi\n .patch('auth/profile/edit/account', 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(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\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.RESET_USER_SPORT_PREFERENCES](\n context: ActionContext,\n sportId: number\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/profile/reset/sports/${sportId}`)\n .then((res) => {\n if (res.status === 204) {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserEmailPayload\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.RESEND_ACCOUNT_CONFIRMATION_EMAIL](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/resend-confirmation', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/account-confirmation/email-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.IS_REGISTRATION_SUCCESS]: (\n state: IAuthUserState\n ) => {\n return state.isRegistrationSuccess\n },\n [AUTH_USER_STORE.GETTERS.IS_SUCCESS]: (state: IAuthUserState) => {\n return state.isSuccess\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 { IAuthUserProfile } 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: IAuthUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](\n state: IAuthUserState,\n isRegistrationSuccess: boolean\n ) {\n state.isRegistrationSuccess = isRegistrationSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IAuthUserState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\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 { IAuthUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n isSuccess: false,\n isRegistrationSuccess: false,\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_IS_SUCCESS]: (state: IUsersState) => {\n return state.isSuccess\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 [USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IUsersState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\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 isSuccess: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","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","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n if (typeof locationQuery.q === 'string') {\n query.q = locationQuery.q\n } else {\n delete query.q\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","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","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { 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","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { ISport, ITranslatedSport, TActiveStatus } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Snowshoes: '#5780a8',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n activeStatus: TActiveStatus = 'all',\n sportsToInclude: number[] = []\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n activeStatus === 'all'\n ? true\n : sportsToInclude.includes(sport.id) || sport[activeStatus]\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","import {\n addMonths,\n addWeeks,\n addYears,\n endOfMonth,\n endOfWeek,\n endOfYear,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n} from 'date-fns'\n\nimport { IChartDataset } from '@/types/chart'\nimport { ISport } from '@/types/sports'\nimport {\n IStatisticsChartData,\n IStatisticsDateParams,\n TStatisticsDatasetKeys,\n TStatisticsDatasets,\n TStatisticsFromApi,\n} from '@/types/statistics'\nimport { incrementDate, getStartDate } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/yyyy',\n },\n month: {\n api: 'yyyy-MM',\n chart: 'MM/yyyy',\n },\n year: {\n api: 'yyyy',\n chart: 'yyyy',\n },\n}\n\nexport const datasetKeys: TStatisticsDatasetKeys[] = [\n 'average_speed',\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n 'total_ascent',\n 'total_descent',\n]\n\nexport const getDateKeys = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean\n): Date[] => {\n const days = []\n for (\n let day = getStartDate(params.duration, params.start, weekStartingMonday);\n day <= params.end;\n day = incrementDate(params.duration, day)\n ) {\n days.push(day)\n }\n return days\n}\n\nconst getStatisticsChartDataset = (\n sportLabel: string,\n color: string,\n isLineChart = false\n): IChartDataset => {\n const dataset: IChartDataset = {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n if (isLineChart) {\n dataset.type = 'line'\n dataset.borderColor = [color]\n dataset.spanGaps = true\n }\n return dataset\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n average_speed: [],\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n total_ascent: [],\n total_descent: [],\n }\n displayedSports.map((sport) => {\n const color = sport.color ? sport.color : sportColors[sport.label]\n datasets.average_speed.push(\n getStatisticsChartDataset(sport.label, color, true)\n )\n datasets.nb_workouts.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_distance.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_duration.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_ascent.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_descent.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const convertStatsValue = (\n datasetKey: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean\n): number => {\n switch (datasetKey) {\n case 'average_speed':\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return convertStatsDistance(\n ['average_speed', 'total_distance'].includes(datasetKey) ? 'km' : 'm',\n value,\n useImperialUnits\n )\n default:\n case 'nb_workouts':\n case 'total_duration':\n return value\n }\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi,\n useImperialUnits: boolean\n): IStatisticsChartData => {\n const dayKeys = getDateKeys(params, weekStartingMonday)\n const dateFormat = dateFormats[params.duration]\n const displayedSports = sports.filter((sport) =>\n displayedSportsId.includes(sport.id)\n )\n const labels: string[] = []\n const datasets = getDatasets(displayedSports)\n const sportsId: Record = {}\n displayedSports.map(\n (displayedSport) => (sportsId[displayedSport.label] = displayedSport.id)\n )\n\n dayKeys.map((key) => {\n const date: string = format(key, dateFormat.api)\n const label: string = format(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n sportsId[dataset.label] in apiStats[date]\n ? convertStatsValue(\n datasetKey,\n apiStats[date][sportsId[dataset.label]][datasetKey],\n useImperialUnits\n )\n : datasetKey === 'average_speed'\n ? null\n : 0\n )\n })\n })\n })\n return {\n labels,\n datasets,\n }\n}\n\nexport const getStatsDateParams = (\n date: Date,\n timeFrame: string,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const weekStartsOn = weekStartingMonday ? 1 : 0\n const start =\n timeFrame === 'year'\n ? startOfYear(subYears(date, 9))\n : timeFrame === 'week'\n ? startOfWeek(subMonths(date, 2), { weekStartsOn })\n : startOfMonth(subMonths(date, 11)) // month\n const end =\n timeFrame === 'year'\n ? endOfYear(date)\n : timeFrame === 'week'\n ? endOfWeek(date, { weekStartsOn })\n : endOfMonth(date) // month\n return {\n duration: timeFrame,\n end,\n start,\n }\n}\n\nexport const updateChartParams = (\n chartParams: IStatisticsDateParams,\n backward: boolean,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const { duration, start, end } = chartParams\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n duration,\n end:\n duration === 'year'\n ? endOfYear(backward ? subYears(end, 1) : addYears(end, 1))\n : duration === 'week'\n ? endOfWeek(backward ? subWeeks(end, 1) : addWeeks(end, 1), {\n weekStartsOn,\n })\n : endOfMonth(backward ? subMonths(end, 1) : addMonths(end, 1)),\n start:\n duration === 'year'\n ? startOfYear(backward ? subYears(start, 1) : addYears(start, 1))\n : duration === 'week'\n ? startOfWeek(backward ? subWeeks(start, 1) : addWeeks(start, 1), {\n weekStartsOn,\n })\n : startOfMonth(backward ? subMonths(start, 1) : addMonths(start, 1)),\n }\n}\n","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\nimport { convertStatsDistance } from '@/utils/units'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction,\n useImperialUnits: boolean\n): IWorkoutChartData => {\n const datasets: TWorkoutDatasets = {\n speed: {\n label: t('workouts.SPEED'),\n backgroundColor: ['#FFFFFF'],\n borderColor: ['#8884d8'],\n borderWidth: 2,\n data: [],\n yAxisID: 'ySpeed',\n },\n elevation: {\n label: t('workouts.ELEVATION'),\n backgroundColor: ['#e5e5e5'],\n borderColor: ['#cccccc'],\n borderWidth: 1,\n fill: true,\n data: [],\n yAxisID: 'yElevation',\n },\n }\n const distance_labels: unknown[] = []\n const duration_labels: unknown[] = []\n const coordinates: TCoordinates[] = []\n\n chartData.map((data) => {\n distance_labels.push(data.distance)\n duration_labels.push(data.duration)\n datasets.speed.data.push(\n convertStatsDistance('km', data.speed, useImperialUnits)\n )\n datasets.elevation.data.push(\n convertStatsDistance('m', data.elevation, useImperialUnits)\n )\n coordinates.push({ latitude: data.latitude, longitude: data.longitude })\n })\n\n return { distance_labels, duration_labels, datasets, coordinates }\n}\n\nexport const getDonutDatasets = (\n workouts: IWorkout[]\n): Record> => {\n const total = workouts.length\n if (total === 0) {\n return {}\n }\n\n const datasets: Record> = {}\n workouts.map((workout) => {\n if (!datasets[workout.sport_id]) {\n datasets[workout.sport_id] = {\n count: 0,\n percentage: 0,\n }\n }\n datasets[workout.sport_id].count += 1\n datasets[workout.sport_id].percentage =\n datasets[workout.sport_id].count / total\n })\n\n return datasets\n}\n\nexport const defaultOrder = {\n order: 'desc',\n order_by: 'workout_date',\n}\n","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=ad374c24\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=ad374c24&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-72463173\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=72463173&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-72463173\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ErrorImg.vue?vue&type=template&id=e620aed4\"\nimport script from \"./ErrorImg.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorImg.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b60bfa80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"error\" }\nconst _hoisted_2 = { class: \"error-content\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n title: string\n message: string\n buttonText: string\n path?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n buttonText: null,\n path: { default: '/' }\n },\n setup(__props: any) {\n\nconst props = __props as { title: string, message: string, buttonText: string, path: string }\n\n \n const { buttonText, title, message, path } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_unref(title)), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_unref(message)), 1),\n (_unref(buttonText))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push(_unref(path)))),\n class: \"upper\"\n }, _toDisplayString(_unref(buttonText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=b60bfa80&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b60bfa80\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { toRefs, withDefaults } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n interface Props {\n target?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n target: { default: 'PAGE' }\n },\n setup(__props: any) {\n\nconst props = __props as { target: string }\n\n \n const { target } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(Error, {\n title: \"404\",\n message: _ctx.$t(`error.NOT_FOUND.${_unref(target)}`),\n \"button-text\": _ctx.$t('common.HOME')\n }, null, 8, [\"message\", \"button-text\"]))\n}\n}\n\n})","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f38ea1b8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(\n page: number,\n cursor?: number\n ): TWorkoutsPayload | TPaginationPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')) + \" \", 1),\n _hoisted_3\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=f38ea1b8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f38ea1b8\"]])\n\nexport default __exports__","import { zxcvbnOptions } from '@zxcvbn-ts/core'\n\nexport const setZxcvbnOptions = async (language: string) => {\n const zxcvbnCommonPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-common'\n )\n const zxcvbnEnPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-en'\n )\n const zxcvbnFrPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-fr'\n )\n const zxcvbnLangPackages: Record = {\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\n }\n const zxcvbnPackage = zxcvbnLangPackages[language]\n const options = {\n graphs: zxcvbnCommonPackage.default.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommonPackage.default.dictionary,\n ...zxcvbnPackage.default.dictionary,\n },\n }\n zxcvbnOptions.setOptions(options)\n}\n\nexport const getPasswordStrength = (strength: number): string => {\n switch (strength) {\n case 2:\n return 'AVERAGE'\n case 3:\n return 'GOOD'\n case 4:\n return 'STRONG'\n default:\n return 'WEAK'\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-79c9693d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-strength\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"password-strength-details\"\n}\nconst _hoisted_4 = { class: \"password-strength-value\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"info-box\"\n}\nconst _hoisted_6 = { class: \"password-feedback\" }\n\nimport { zxcvbn } from '@zxcvbn-ts/core'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n onBeforeMount,\n toRefs,\n watch,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n import { getPasswordStrength, setZxcvbnOptions } from '@/utils/password'\n\n interface Props {\n password: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n password: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n password: string\n }\n\n \n const { password } = toRefs(props)\n\n const store = useStore()\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const passwordScore: Ref = ref(0)\n const passwordStrength: Ref = ref('')\n const passwordSuggestions: Ref = ref([])\n const backgroundSize = ref('0% 100%')\n\n onBeforeMount(async () => await setZxcvbnOptions(language.value))\n\n function calculatePasswordStrength(password: string) {\n let zxcvbnResult = zxcvbn(password)\n passwordScore.value = zxcvbnResult.score\n passwordStrength.value = getPasswordStrength(passwordScore.value)\n passwordSuggestions.value = zxcvbnResult.feedback.suggestions\n backgroundSize.value = (passwordScore.value * 100) / 4 + '% 100%'\n }\n\n watch(\n () => language.value,\n async (newLanguageValue) => {\n await setZxcvbnOptions(newLanguageValue)\n }\n )\n watch(\n () => password.value,\n async (newPassword) => {\n if (isSuccess.value) {\n passwordStrength.value = ''\n } else {\n calculatePasswordStrength(newPassword)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: _normalizeClass([\"password-slider\", `strength-${passwordScore.value}`]),\n style: _normalizeStyle({ backgroundSize: backgroundSize.value }),\n type: \"range\",\n value: passwordScore.value,\n min: \"0\",\n max: \"4\",\n step: \"1\"\n }, null, 14, _hoisted_2),\n (passwordStrength.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('user.PASSWORD_STRENGTH.LABEL')) + \": \" + _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.${passwordStrength.value}`)), 1),\n (passwordSuggestions.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(passwordSuggestions.value, (suggestion) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: suggestion }, _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${suggestion}`)), 1))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordStength.vue?vue&type=style&index=0&id=79c9693d&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-79c9693d\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, vModelDynamic as _vModelDynamic, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5a126514\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-input\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\", \"required\", \"type\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"form-info\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import PasswordStrength from '@/components/Common/PasswordStength.vue'\n\n interface Props {\n checkStrength?: boolean\n disabled?: boolean\n id?: string\n password?: string\n placeholder?: string\n required?: boolean\n }\n\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n checkStrength: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n id: { default: 'password' },\n password: { default: '' },\n placeholder: null,\n required: { type: Boolean, default: false }\n },\n emits: ['updatePassword', 'passwordError'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { checkStrength: boolean, disabled: boolean, id: string, password: string, placeholder?: string, required: boolean }\n\n \n const { checkStrength, disabled, id, password, placeholder, required } =\n toRefs(props)\n\n const showPassword: Ref = ref(false)\n const passwordValue: Ref = ref('')\n\n \n\n function togglePassword() {\n showPassword.value = !showPassword.value\n }\n function updatePassword(event: Event & { target: HTMLInputElement }) {\n emit('updatePassword', event.target.value)\n }\n function invalidPassword() {\n emit('passwordError')\n }\n\n watch(\n () => password.value,\n (newPassword) => {\n if (newPassword === '') {\n passwordValue.value = ''\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n id: _unref(id),\n disabled: _unref(disabled),\n placeholder: _unref(placeholder),\n required: _unref(required),\n type: showPassword.value ? 'text' : 'password',\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((passwordValue).value = $event)),\n minlength: \"8\",\n onInput: updatePassword,\n onInvalid: invalidPassword\n }, null, 40, _hoisted_2), [\n [_vModelDynamic, passwordValue.value]\n ]),\n _createElementVNode(\"div\", {\n class: \"show-password\",\n onClick: togglePassword\n }, [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.${showPassword.value ? 'HIDE' : 'SHOW'}_PASSWORD`)) + \" \", 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-eye${showPassword.value ? '-slash' : ''}`]),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n (_unref(checkStrength))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.PASSWORD_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(checkStrength))\n ? (_openBlock(), _createBlock(PasswordStrength, {\n key: 1,\n password: passwordValue.value\n }, null, 8, [\"password\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordInput.vue?vue&type=style&index=0&id=5a126514&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5a126514\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"map-attribution\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"map-attribution-text\" }, \"©\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"map-attribution-text\",\n href: \"https://www.openstreetmap.org/copyright\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, \" OpenStreetMap \")\n], -1)\n\nimport { toRefs, withDefaults } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workout: IWorkout\n displayHover?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workout: null,\n displayHover: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { workout: IWorkout, displayHover: boolean }\n\n \n const { displayHover } = toRefs(props)\n const imageUrl = `${getApiUrl()}workouts/map/${props.workout.map}`\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"static-map\", { 'display-hover': _unref(displayHover) }])\n }, [\n (_unref(displayHover))\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: imageUrl,\n alt: \"\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"bg-map-image\",\n style: _normalizeStyle({\n backgroundImage: `url(${imageUrl})`,\n })\n }, null, 4)),\n _hoisted_1\n ], 2))\n}\n}\n\n})","import script from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=6b7e4baf&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-68a6a495\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"start-chart\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { class: \"chart-radio\" }\nconst _hoisted_5 = [\"checked\"]\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = [\"checked\"]\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = [\"checked\"]\nconst _hoisted_12 = { key: 2 }\nconst _hoisted_13 = [\"checked\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Chart = _resolveComponent(\"Chart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.hideChartIfNoData && _ctx.emptyStats)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.NO_WORKOUTS')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_distance\",\n checked: _ctx.displayedData === 'total_distance',\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_5),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_duration\",\n checked: _ctx.displayedData === 'total_duration',\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_6),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"nb_workouts\",\n checked: _ctx.displayedData === 'nb_workouts',\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_7),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', 2)), 1)\n ]),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_8, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"average_speed\",\n checked: _ctx.displayedData === 'average_speed',\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_10, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_ascent\",\n checked: _ctx.displayedData === 'total_ascent',\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_11),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.ASCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_12, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_descent\",\n checked: _ctx.displayedData === 'total_descent',\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_13),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DESCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.labels.length > 0)\n ? (_openBlock(), _createBlock(_component_Chart, {\n key: 0,\n datasets: _ctx.datasets,\n labels: _ctx.labels,\n displayedData: _ctx.displayedData,\n displayedSportIds: _ctx.displayedSportIds,\n fullStats: _ctx.fullStats,\n useImperialUnits: _ctx.user.imperial_units\n }, null, 8, [\"datasets\", \"labels\", \"displayedData\", \"displayedSportIds\", \"fullStats\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}","import { resolveComponent as _resolveComponent, mergeProps as _mergeProps, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"chart\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BarChart = _resolveComponent(\"BarChart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_BarChart, _mergeProps(_ctx.barChartProps, { class: \"bar-chart\" }), null, 16)\n ]))\n}","export const formatDuration = (\n totalSeconds: number,\n formatWithUnits = false\n): string => {\n let days = '0'\n if (formatWithUnits) {\n days = String(Math.floor(totalSeconds / 86400))\n totalSeconds %= 86400\n }\n const hours = String(Math.floor(totalSeconds / 3600)).padStart(2, '0')\n totalSeconds %= 3600\n const minutes = String(Math.floor(totalSeconds / 60)).padStart(2, '0')\n const seconds = String(totalSeconds % 60).padStart(2, '0')\n if (formatWithUnits) {\n return `${days === '0' ? '' : `${days}d `}${\n hours === '00' ? '' : `${hours}h `\n }${minutes}m ${seconds}s`\n }\n return `${hours === '00' ? '' : `${hours}:`}${minutes}:${seconds}`\n}\n","import { TStatisticsDatasetKeys } from '@/types/statistics'\nimport { formatDuration } from '@/utils/duration'\nimport { units } from '@/utils/units'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean,\n formatWithUnits = true\n): string => {\n const unitFrom = 'km'\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n switch (displayedData) {\n case 'average_speed':\n return `${value.toFixed(2)} ${unitTo}/h`\n case 'total_duration':\n return formatDuration(value, formatWithUnits)\n case 'total_distance':\n return `${value.toFixed(2)} ${unitTo}`\n case 'total_ascent':\n case 'total_descent':\n return `${(value / 1000).toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","\n import { ChartData, ChartOptions, LayoutItem } from 'chart.js'\n import { ComputedRef, PropType, computed, defineComponent } from 'vue'\n import { BarChart, useBarChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IChartDataset } from '@/types/chart'\n import { TStatisticsDatasetKeys } from '@/types/statistics'\n import { formatTooltipValue } from '@/utils/tooltip'\n\n export default defineComponent({\n name: 'Chart',\n components: {\n BarChart,\n },\n props: {\n datasets: {\n type: Object as PropType,\n required: true,\n },\n labels: {\n type: Object as PropType,\n required: true,\n },\n displayedData: {\n type: String as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n required: true,\n },\n fullStats: {\n type: Boolean,\n required: true,\n },\n useImperialUnits: {\n type: Boolean,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getNumber(value: any): number {\n return isNaN(value) ? 0 : +value\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getSum(total: any, value: any): number {\n return getNumber(total) + getNumber(value)\n }\n let chartData: ComputedRef> = computed(() => ({\n labels: props.labels,\n // workaround to avoid dataset modification\n datasets: JSON.parse(JSON.stringify(props.datasets)),\n }))\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: props.fullStats ? 40 : 22,\n },\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n },\n y: {\n stacked: props.displayedData !== 'average_speed',\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(\n props.displayedData,\n +value,\n props.useImperialUnits,\n false\n )\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 75 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n color: function (context) {\n return props.displayedData === 'average_speed' &&\n context.dataset.backgroundColor\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n context.dataset.backgroundColor[0]\n : '#666666'\n },\n rotation: function (context) {\n return props.fullStats && context.chart.chartArea.width < 580\n ? 310\n : 0\n },\n display: function (context) {\n return props.fullStats && context.chart.chartArea.width < 300\n ? false\n : props.displayedData === 'average_speed'\n ? props.displayedSportIds.length == 1\n ? 'auto'\n : false\n : true\n },\n formatter: function (value, context) {\n if (props.displayedData === 'average_speed') {\n return formatTooltipValue(\n props.displayedData,\n value,\n props.useImperialUnits,\n false\n )\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const total: number = context.chart.data.datasets\n .map((d) => d.data[context.dataIndex])\n .reduce((total, value) => getSum(total, value), 0)\n return context.datasetIndex ===\n props.displayedSportIds.length - 1 && total > 0\n ? formatTooltipValue(\n props.displayedData,\n total,\n props.useImperialUnits,\n false\n )\n : null\n }\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n position:\n props.displayedData === 'average_speed' ? 'nearest' : 'average',\n },\n filter: function (tooltipItem) {\n return tooltipItem.formattedValue !== '0'\n },\n callbacks: {\n label: function (context) {\n let label = t(`sports.${context.dataset.label}.LABEL`) || ''\n if (label) {\n label += ': '\n }\n if (context.parsed.y !== null) {\n label += formatTooltipValue(\n props.displayedData,\n context.parsed.y,\n props.useImperialUnits\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n if (props.displayedData === 'average_speed') {\n return ''\n }\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('common.TOTAL')}: ` +\n formatTooltipValue(\n props.displayedData,\n sum,\n props.useImperialUnits\n )\n )\n },\n },\n },\n },\n }))\n const { barChartProps } = useBarChart({\n chartData,\n options,\n })\n return { barChartProps }\n },\n })\n","import { render } from \"./Chart.vue?vue&type=template&id=7eb1257c&ts=true\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n onBeforeMount,\n } from 'vue'\n\n import Chart from '@/components/Common/StatsChart/Chart.vue'\n import { STATS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import {\n IStatisticsChartData,\n TStatisticsDatasetKeys,\n IStatisticsDateParams,\n TStatisticsFromApi,\n IStatisticsParams,\n } from '@/types/statistics'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatStats } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n Chart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n chartParams: {\n type: Object as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n fullStats: {\n type: Boolean,\n default: false,\n },\n hideChartIfNoData: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n let displayedData: Ref = ref('total_distance')\n const statistics: ComputedRef = computed(\n () => store.getters[STATS_STORE.GETTERS.USER_STATS]\n )\n const formattedStats: ComputedRef = computed(() =>\n formatStats(\n props.chartParams,\n props.user.weekm,\n props.sports,\n props.displayedSportIds,\n statistics.value,\n props.user.imperial_units\n )\n )\n\n onBeforeMount(() =>\n getStatistics(getApiParams(props.chartParams, props.user))\n )\n\n function getStatistics(apiParams: IStatisticsParams) {\n store.dispatch(STATS_STORE.ACTIONS.GET_USER_STATS, {\n username: props.user.username,\n filterType: 'by_time',\n params: apiParams,\n })\n }\n function updateDisplayData(\n event: Event & {\n target: HTMLInputElement & { name: TStatisticsDatasetKeys }\n }\n ) {\n displayedData.value = event.target.name\n }\n function getApiParams(\n chartParams: IStatisticsDateParams,\n user: IAuthUserProfile\n ): IStatisticsParams {\n return {\n from: format(chartParams.start, 'yyyy-MM-dd'),\n to: format(chartParams.end, 'yyyy-MM-dd'),\n time:\n chartParams.duration === 'week'\n ? `week${user.weekm ? 'm' : ''}`\n : chartParams.duration,\n }\n }\n\n watch(\n () => props.chartParams,\n async (newParams) => {\n getStatistics(getApiParams(newParams, props.user))\n }\n )\n\n return {\n datasets: computed(\n () => formattedStats.value.datasets[displayedData.value]\n ),\n labels: computed(() => formattedStats.value.labels),\n emptyStats: computed(() => Object.keys(statistics.value).length === 0),\n displayedData,\n updateDisplayData,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=68a6a495&scoped=true&ts=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=68a6a495&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-68a6a495\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20291951\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { computed, ComputedRef, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(authUser).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=20291951&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20291951\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8f7f2d5c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = {\n key: 4,\n class: \"email-form form-box\"\n}\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = { class: \"form-buttons\" }\nconst _hoisted_7 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { key: 5 }\nconst _hoisted_10 = { class: \"user-bio\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n withDefaults,\n watch,\n onUnmounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n fromAdmin: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n const isSuccess = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_IS_SUCCESS]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref('')\n const formErrors = ref(false)\n const displayUserEmailForm: Ref = ref(false)\n const newUserEmail: Ref = ref('')\n const currentAction: Ref = ref('')\n\n function updateDisplayModal(value: string) {\n displayModal.value = value\n if (value !== '') {\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n }\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n function resetUserPassword(username: string) {\n currentAction.value = 'password-reset'\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n resetPassword: true,\n })\n }\n function confirmUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n activate: true,\n })\n }\n function displayEmailForm() {\n resetErrorsAndSuccess()\n newUserEmail.value = user.value.email_to_confirm\n ? user.value.email_to_confirm\n : ''\n displayUserEmailForm.value = true\n currentAction.value = 'email-update'\n }\n function hideEmailForm() {\n newUserEmail.value = ''\n displayUserEmailForm.value = false\n }\n function updateUserEmail(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n new_email: newUserEmail.value,\n })\n }\n function resetErrorsAndSuccess() {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n currentAction.value = ''\n }\n\n onUnmounted(() => resetErrorsAndSuccess())\n\n watch(\n () => isSuccess.value,\n (newIsSuccess) => {\n if (newIsSuccess) {\n updateDisplayModal('')\n hideEmailForm()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \n _unref(displayModal) === 'delete'\n ? 'admin.CONFIRM_USER_ACCOUNT_DELETION'\n : 'admin.CONFIRM_USER_PASSWORD_RESET'\n ,\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(displayModal) === 'delete'\n ? deleteUserAccount(_unref(user).username)\n : resetUserPassword(_unref(user).username)\n )),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal('')))\n }, null, 8, [\"title\", \"message\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `admin.${\n currentAction.value === 'password-reset'\n ? 'PASSWORD_RESET'\n : 'USER_EMAIL_UPDATE'\n }_SUCCESSFUL`\n )), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 2,\n message: \"user.THIS_USER_ACCOUNT_IS_INACTIVE\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 3,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (displayUserEmailForm.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateUserEmail(_unref(user).username)), [\"prevent\"]))\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.CURRENT_EMAIL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(user).email) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _unref(user).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.NEW_EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"new-email\",\n type: \"email\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((newUserEmail).value = $event))\n }, null, 512), [\n [_vModelText, newUserEmail.value]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", _hoisted_7, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(hideEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_8)\n ])\n ], 34)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_10, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (updateDisplayModal('delete')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (confirmUserAccount(_unref(user).username)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.ACTIVATE_USER_ACCOUNT')), 1))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n onClick: _withModifiers(displayEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('admin.UPDATE_USER_EMAIL')), 9, _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 3,\n onClick: _cache[7] || (_cache[7] = _withModifiers(($event: any) => (updateDisplayModal('reset')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.RESET_USER_PASSWORD')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=8f7f2d5c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8f7f2d5c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21d76483\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-form\" }\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = [\"disabled\", \"placeholder\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"form-info\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\"disabled\", \"placeholder\"]\nconst _hoisted_8 = {\n key: 3,\n class: \"form-info\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = { key: 2 }\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\" - \")\nconst _hoisted_13 = { key: 3 }\nconst _hoisted_14 = { class: \"account\" }\nconst _hoisted_15 = { key: 4 }\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n action: string\n token?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n action: null,\n token: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { action: string, token: string }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { action } = toRefs(props)\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\n })\n const buttonText: ComputedRef = computed(() =>\n getButtonText(props.action)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const isRegistrationSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' && !appConfig.value.is_registration_enabled\n )\n const formErrors = ref(false)\n\n function getButtonText(action: string): string {\n switch (action) {\n case 'reset-request':\n case 'reset':\n return 'buttons.SUBMIT'\n default:\n return `buttons.${props.action.toUpperCase()}`\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n function updatePassword(password: string) {\n formData.password = password\n }\n function onSubmit(actionType: string) {\n switch (actionType) {\n case 'reset':\n if (!props.token) {\n return store.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n 'user.INVALID_TOKEN'\n )\n }\n return store.dispatch(AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n case 'account-confirmation-resend':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,\n {\n email: formData.email,\n }\n )\n default:\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n redirectUrl: route.query.from,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n }\n\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n formErrors.value = false\n resetFormData()\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"user-auth-form\",\n class: _normalizeClass(`${\n ['reset', 'reset-request'].includes(_unref(action)) ? _unref(action) : 'user-form'\n }`)\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"form-box\", {\n disabled: _unref(registration_disabled),\n }])\n }, [\n (_unref(registration_disabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 0,\n message: \"user.REGISTER_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess) || _unref(isRegistrationSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n _unref(isRegistrationSuccess) ? 'REGISTRATION' : 'UPDATE'\n }`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (onSubmit(_unref(action))), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(action) === 'register')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n id: \"username\",\n disabled: _unref(registration_disabled),\n required: \"\",\n pattern: \"[a-zA-Z0-9_]+\",\n minlength: \"3\",\n maxlength: \"30\",\n onInvalid: invalidateForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(formData).username) = $event)),\n placeholder: _ctx.$t('user.USERNAME')\n }, null, 40, _hoisted_4)), [\n [_vModelText, _unref(formData).username]\n ])\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.USERNAME_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) !== 'reset')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 2,\n id: \"email\",\n disabled: _unref(registration_disabled),\n required: \"\",\n onInvalid: invalidateForm,\n type: \"email\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(formData).email) = $event)),\n placeholder: _ctx.$t('user.EMAIL')\n }, null, 40, _hoisted_7)), [\n [_vModelText, _unref(formData).email]\n ])\n : _createCommentVNode(\"\", true),\n (\n [\n 'reset-request',\n 'register',\n 'account-confirmation-resend',\n ].includes(_unref(action))\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.EMAIL_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (\n !['account-confirmation-resend', 'reset-request'].includes(\n _unref(action)\n )\n )\n ? (_openBlock(), _createBlock(PasswordInput, {\n key: 4,\n disabled: _unref(registration_disabled),\n required: true,\n placeholder: \n _unref(action) === 'reset'\n ? _ctx.$t('user.ENTER_PASSWORD')\n : _ctx.$t('user.PASSWORD')\n ,\n password: _unref(formData).password,\n checkStrength: ['reset', 'register'].includes(_unref(action)),\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"placeholder\", \"password\", \"checkStrength\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: _unref(registration_disabled)\n }, _toDisplayString(_ctx.$t(_unref(buttonText))), 9, _hoisted_10)\n ], 34),\n (_unref(action) === 'login')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/register\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n }),\n _hoisted_12,\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/password-reset/request\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_FORGOTTEN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ALREADY_HAVE_ACCOUNT')), 1),\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/login\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (['login', 'register'].includes(_unref(action)))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/account-confirmation/resend\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.ACCOUNT_CONFIRMATION_NOT_RECEIVED')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 5,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ], 2))\n}\n}\n\n})","import script from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=21d76483&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-21d76483\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture?${Date.now()}`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=26bea286&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=4b4d15fb&scoped=true\"\nconst script = {}\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=4b4d15fb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b4d15fb\"]])\n\nexport default __exports__","var map = {\n\t\"./en/en.ts\": 9350,\n\t\"./fr/fr.ts\": 1079\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 = 4612;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\",\"881\":\"password\"}[chunkId] || chunkId) + \".\" + {\"24\":\"30b1815a\",\"93\":\"6f43c046\",\"193\":\"cbaa146a\",\"243\":\"1c009238\",\"328\":\"5ec56937\",\"401\":\"6b03864e\",\"431\":\"2dd6d03a\",\"633\":\"05b59575\",\"845\":\"38438c89\",\"858\":\"3eeaffeb\",\"881\":\"23cdd304\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\"}[chunkId] + \".\" + {\"24\":\"e2527ec6\",\"193\":\"91fe968e\",\"328\":\"73df498d\",\"401\":\"66f98dac\",\"845\":\"203e78e2\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"fittrackee_client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"24\":1,\"193\":1,\"328\":1,\"401\":1,\"845\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfittrackee_client\"] = self[\"webpackChunkfittrackee_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(811); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","locale","default","createI18n","legacy","fallbackLocale","globalInjection","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","about","AboutTranslations","admin","AdministrationTranslations","api","ApiTranslations","buttons","ButtonsTranslations","common","CommonTranslations","dashboard","DashboardTranslations","ErrorTranslations","sports","SportsTranslations","statistics","StatisticsTranslations","user","UserTranslations","workouts","WorkoutsTranslations","register","ready","console","log","registered","cached","updatefound","updated","offline","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","_hoisted_2","class","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","href","target","rel","_defineComponent","props","version","adminContact","setup","__props","toRefs","_ctx","_cache","_component_router_link","_resolveComponent","_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","_createVNode","to","_withCtx","$t","_","_createCommentVNode","__exports__","emits","emit","useI18n","useStore","authUser","computed","getters","isAuthenticated","language","ROOT_STORE","isMenuOpen","ref","openMenu","value","closeMenu","updateLanguage","option","toString","commit","logout","dispatch","_component_Dropdown","onClick","$event","$router","push","_normalizeClass","capitalize","_createBlock","UserPicture","username","availableLanguages","options","selected","onSelected","ErrorImg","innerHTML","appConfig","appLoading","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","window","innerHeight","bottom","scroll","onscroll","document","querySelector","scrollToTop","scrollTo","behavior","setTimeout","onBeforeMount","onMounted","_component_Loader","_component_router_view","_Fragment","NavBar","onMenuInteraction","NoConfig","Footer","admin_contact","message","name","charLimit","disabled","type","Boolean","input","text","updateText","event","watch","_withDirectives","maxLenght","_isRef","onInput","_vModelText","distance","unitFrom","useImperialUnits","digits","displayUnit","speed","strong","unitTo","units","defaultTarget","convertedDistance","convertDistance","parseFloat","toFixed","route","useRoute","isOpen","dropdownOptions","map","toggleDropdown","updateSelected","path","_renderSlot","$slots","_renderList","index","label","Array","isArray","subMessage","xmlns","x","y","viewBox","style","d","render","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","Hiking","MountainBiking","MountainBikingElectric","Rowing","Running","SkiingAlpine","SkiingCrossCountry","Snowshoes","Trail","Walking","script","strongMessage","errorMessages","onUnmounted","_component_i18n_t","_component_ErrorMessage","_component_Card","content","keypath","customComponents","AlertMessage","Card","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","undefined","Chart","BarElement","LineElement","PointElement","Legend","Title","Tooltip","Filler","BarController","CategoryScale","LineController","LinearScale","ChartDataLabels","app","createApp","App","provide","i18n","router","VueFullscreen","directive","component","mount","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","getFileSizeInMB","onCancel","onSubmit","formData","assign","_withModifiers","min","step","icon","appStatistics","uploadDirSize","getReadableFileSize","uploads_dir_size","StatCard","users","size","suffix","AppStatsCards","is_registration_enabled","t","translatedSports","translateSports","SPORTS_STORE","updateSportStatus","isActive","_component_SportImage","sport","translatedLabel","is_active","danger","has_workouts","query","q","searchUsers","resetFilter","onKeyup","_withKeys","placeholder","trim","orderByList","defaultOrderBy","getQuery","USERS_STORE","pagination","loadUsers","queryParams","reloadUsers","updateUser","queryParam","queryValue","page","newQuery","UsersNameFilter","onFilterOnUsername","FilterSelects","sort","sortList","order_by","onUpdateSelect","email","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","async","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","Date","updateBio","_component_CustomTextArea","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","updatePictureFile","files","updateUserPicture","picture","accept","timeZones","tzList","focusItemIndex","matchTimezone","toLowerCase","onMouseOver","onUpdateTimezone","onEnter","preventDefault","firstElementChild","openDropdown","onKeydown","ref_key","filter","tz","focus","onMouseover","autofocus","weekStart","imperialUnits","updateTZ","lang","_vModelSelect","TimezoneDropdown","start","unit","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","onChange","e","src","alt","BikePic","About","workout","_component_Distance","params","workoutId","workout_date","formatDistance","addSuffix","with_gpx","StaticMap","moving","min_alt","max_alt","ascent","descent","per_page","initWorkoutsCount","loadWorkouts","WORKOUTS_STORE","moreWorkoutsExist","previous_workout","defaultOrder","loadMoreWorkouts","WorkoutCard","s","NoWorkouts","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","data","stroke","transform","isHidden","togglePane","stopPropagation","_directive_click_outside","_resolveDirective","DonutChart","CalendarWorkout","getSportLabel","getSportColor","chartDatasets","getDonutDatasets","sportIdColors","displayedWorkoutCount","slice","CalendarWorkoutsChart","currentDay","endDate","startDate","weekStartingMonday","rows","getDays","day","days","i","addDays","isWeekEnd","filterWorkouts","isSameDay","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","sportTranslatedLabel","workout_id","formatRecord","Error","formatWorkoutDate","getRecordsBySports","reduce","sportList","find","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","defaultUnitFrom","totalDistance","total_distance","split","nb_sports","isSelected","updateDisplayColumn","UserStatsCards","UserMonthStats","UserRecords","UserCalendar","Timeline","NotFound","action","LoginOrRegisterForm","getTabFromPath","regex","tag","replace","toUpperCase","routes","Dashboard","LoginOrRegister","children","Profile","UserInfos","UserPreferences","UserSportPreferences","ProfileEdition","UserInfosEdition","UserAccountEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","fromAdmin","AdminUsers","AboutView","NotFoundView","createRouter","history","createWebHistory","process","pathsWithoutAuthentication","pathsWithoutChecks","beforeEach","next","then","fullPath","catch","AuthUserActions","AuthUserGetters","AuthUserMutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","status","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","state","authUserProfile","isRegistrationSuccess","mutations","authUserState","application","localeFromLanguage","root","enUS","sportsState","filterType","statisticsState","updatedUser","usersState","getWorkouts","segmentUrl","segmentId","segments","chart_data","gpx","file","notes","calendar_workouts","timeline_workouts","user_workouts","workoutData","concat","chartData","workoutsState","modules","authUserModule","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPage","defaultPerPage","getNumberQueryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","response","m","en","fr","availableLocales","l","sortSports","a","b","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_ascent","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","dayKeys","labels","sportsId","displayedSport","getStatsDateParams","timeFrame","subYears","endOfYear","updateChartParams","backward","subWeeks","addWeeks","ft","system","multiplier","mi","km","factors","metric","imperial","borderWidth","yAxisID","elevation","distance_labels","duration_labels","coordinates","latitude","longitude","total","count","perPage","onSelectUpdate","nb","buttonText","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","zxcvbnLangPackages","zxcvbnPackage","graphs","adjacencyGraphs","dictionary","zxcvbnOptions","getPasswordStrength","strength","passwordScore","passwordStrength","passwordSuggestions","backgroundSize","calculatePasswordStrength","zxcvbnResult","zxcvbn","score","feedback","suggestions","newLanguageValue","newPassword","max","suggestion","showPassword","passwordValue","togglePassword","invalidPassword","minlength","_vModelDynamic","PasswordStrength","displayHover","imageUrl","backgroundImage","$props","$setup","$data","$options","_component_Chart","hideChartIfNoData","emptyStats","displayedData","args","updateDisplayData","fullStats","displayedSportIds","_component_BarChart","_mergeProps","barChartProps","formatDuration","totalSeconds","formatWithUnits","String","hours","padStart","minutes","seconds","formatTooltipValue","defineComponent","components","BarChart","getNumber","isNaN","getSum","JSON","parse","stringify","responsive","maintainAspectRatio","animation","layout","padding","scales","stacked","grid","drawOnChartArea","ticks","maxTicksLimit","callback","afterFit","scale","plugins","datalabels","anchor","align","chartArea","display","formatter","dataIndex","datasetIndex","legend","tooltip","interaction","intersect","mode","position","tooltipItem","formattedValue","callbacks","parsed","footer","tooltipItems","sum","useBarChart","formattedStats","getStatistics","getApiParams","time","newParams","birthDate","displayUserEmailForm","newUserEmail","currentAction","resetUserPassword","confirmUserAccount","displayEmailForm","resetErrorsAndSuccess","email_to_confirm","hideEmailForm","updateUserEmail","newIsSuccess","_component_AlertMessage","go","getButtonText","registration_disabled","resetFormData","pattern","maxlength","authUserPictureUrl","now","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","url","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","linkTag","onLinkComplete","errorType","realHref","err","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/app.9fb29e8d.js","mappings":"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BACA,6BACA,6BACA,4BACA,4BACA,mBACA,mBACA,gBACA,yBACA,mBACA,gBACA,iBACA,uBACA,oBACA,iBACA,gBACA,wBACA,uBACA,iBACA,kBACA,kBACA,kBACA,oBACA,qBACA,kBACA,iBACA,kBACA,uBACA,iBACA,uBACA,iBACA,kBACA,mBACA,mBACA,sBACA,oBACA,sBACA,oBACA,kBACA,oBACA,qBACA,oBACA,oBACA,iBACA,kBACA,iBACA,qBACA,+BACA,uBACA,0BACA,6BACA,4BACA,wBACA,4BACA,0BACA,iBACA,kBACA,kBACA,iBACA,8BACA,8BACA,iBACA,eACA,sBACA,iBACA,kBACA,iBACA,qBACA,oBACA,mBACA,oBACA,iBACA,qBACA,sBACA,mBACA,kBACA,oBACA,qBACA,iBACA,mBACA,kBACA,eACA,kBACA,8BACA,8BACA,iCACA,kBACA,iBACA,sBACA,qBACA,kBACA,yBACA,wBACA,sBACA,sBACA,uBACA,sBACA,uBACA,iBACA,iBACA,mBACA,qBACA,mBACA,mBACA,wBACA,oBACA,uBACA,gBACA,mBACA,wBACA,sBACA,gBACA,sBACA,kBACA,kBACA,oBACA,qBACA,mBACA,kBACA,sBACA,mBACA,mBACA,4BACA,uBACA,oBACA,oBACA,qBACA,mBACA,mBACA,oBACA,cACA,aACA,cACA,aACA,cACA,gBACA,cACA,eACA,YACA,eACA,eACA,cACA,eACA,cACA,aACA,kBACA,eACA,gBACA,aACA,YACA,aACA,gBACA,iBACA,YACA,cACA,mBACA,iBACA,YACA,eACA,eACA,gBACA,iBACA,aACA,iBACA,eACA,iBACA,gBACA,eACA,mBACA,oBACA,eACA,aACA,eACA,gBACA,cACA,eACA,oBACA,mBACA,YACA,YACA,iBACA,iBACA,aACA,gBACA,iBACA,cACA,gBACA,iBACA,aACA,gBACA,iBACA,qBACA,cACA,gBACA,eACA,cACA,eACA,aACA,aACA,mBACA,cACA,gBACA,mBACA,eACA,cACA,qBACA,eACA,kBACA,mBACA,kBACA,sBACA,iBACA,mBACA,qBACA,yBACA,mBACA,qBACA,qBACA,wBACA,mBACA,mBACA,kBACA,mBACA,qBACA,sBACA,sBACA,kBACA,mBACA,mBACA,iBACA,mBACA,gBACA,kBACA,gBACA,kBACA,mBACA,kBACA,kBACA,oBACA,gBACA,mBACA,kBACA,kBACA,qBACA,cACA,eACA,gBACA,gBACA,oBACA,gBACA,eACA,eACA,gBACA,gBACA,cACA,eACA,gBACA,cACA,cACA,gBACA,iBACA,oBACA,eACA,mBACA,iBACA,gBACA,mBACA,kBACA,gBACA,iBACA,mBACA,gBACA,oBACA,gBACA,gBACA,mBACA,eACA,mBACA,cACA,kBACA,mBACA,iBACA,eACA,mBACA,uBACA,kBACA,gBACA,iBACA,gBACA,oBACA,kBACA,eACA,mBACA,oBACA,kBACA,sBACA,eACA,mBACA,qBACA,iBACA,oBACA,iBACA,oBACA,gBACA,eACA,kBACA,iBACA,oBACA,gBACA,mBACA,kBACA,uBACA,oBACA,iBACA,iBACA,oBACA,eACA,kBCxVI3X,GAAa,CAAEC,GAAI,eACnBC,GAAa,CAAC,QAAS,WAAY,aACnCE,GAAa,CAAC,UAAW,cAAe,aAW9C,QAA4Bc,EAAAA,EAAAA,IAAiB,CAC3CC,MAAO,CACL+F,MAAO,KACPH,SAAU,CAAEC,KAAMC,QAASjK,SAAS,IAEtCyF,MAAO,CAAC,kBACRnB,MAAMC,GAAc,KAAEmB,IAExB,MAAMvB,EAAQI,GAMN,MAAE2F,EAAF,SAASH,IAAavF,EAAAA,EAAAA,IAAOL,GAC7B2S,GAAwB1Q,EAAAA,EAAAA,IAAIjC,EAAM+F,OAClC0B,GAAuBxF,EAAAA,EAAAA,KAAI,GAC3BwU,GAAuCxU,EAAAA,EAAAA,IAAI,MAC3CyU,GAA8BzU,EAAAA,EAAAA,IAAI,GAExC,SAAS0U,EAAc5G,GACrB,OAAOA,EAAE6G,cAAclb,MAAMiX,EAASxQ,MAAMyU,eAE9C,SAASC,EAAY3O,GACnBwO,EAAevU,MAAQ+F,EAEzB,SAAS4O,EAAiB3U,GACxBwQ,EAASx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","sources":["webpack://fittrackee_client/./src/api/authApi.ts","webpack://fittrackee_client/./src/i18n.ts","webpack://fittrackee_client/./src/locales/en/about.json","webpack://fittrackee_client/./src/locales/en/administration.json","webpack://fittrackee_client/./src/locales/en/api.json","webpack://fittrackee_client/./src/locales/en/buttons.json","webpack://fittrackee_client/./src/locales/en/common.json","webpack://fittrackee_client/./src/locales/en/dashboard.json","webpack://fittrackee_client/./src/locales/en/error.json","webpack://fittrackee_client/./src/locales/en/sports.json","webpack://fittrackee_client/./src/locales/en/statistics.json","webpack://fittrackee_client/./src/locales/en/user.json","webpack://fittrackee_client/./src/locales/en/workouts.json","webpack://fittrackee_client/./src/locales/en/en.ts","webpack://fittrackee_client/./src/locales/fr/about.json","webpack://fittrackee_client/./src/locales/fr/administration.json","webpack://fittrackee_client/./src/locales/fr/api.json","webpack://fittrackee_client/./src/locales/fr/buttons.json","webpack://fittrackee_client/./src/locales/fr/common.json","webpack://fittrackee_client/./src/locales/fr/dashboard.json","webpack://fittrackee_client/./src/locales/fr/error.json","webpack://fittrackee_client/./src/locales/fr/sports.json","webpack://fittrackee_client/./src/locales/fr/statistics.json","webpack://fittrackee_client/./src/locales/fr/user.json","webpack://fittrackee_client/./src/locales/fr/workouts.json","webpack://fittrackee_client/./src/locales/fr/fr.ts","webpack://fittrackee_client/./src/registerServiceWorker.ts","webpack://fittrackee_client/./src/components/Footer.vue?771f","webpack://fittrackee_client/./src/components/Footer.vue","webpack://fittrackee_client/./src/components/NavBar.vue?9bec","webpack://fittrackee_client/./src/components/NavBar.vue","webpack://fittrackee_client/./src/components/NoConfig.vue?541b","webpack://fittrackee_client/./src/components/NoConfig.vue","webpack://fittrackee_client/./src/App.vue?2a5e","webpack://fittrackee_client/./src/App.vue","webpack://fittrackee_client/./src/components/Common/AlertMessage.vue?3150","webpack://fittrackee_client/./src/components/Common/AlertMessage.vue","webpack://fittrackee_client/./src/components/Common/CustomTextArea.vue?8efa","webpack://fittrackee_client/./src/components/Common/CustomTextArea.vue","webpack://fittrackee_client/./src/components/Common/Distance.vue?edec","webpack://fittrackee_client/./src/components/Common/Distance.vue","webpack://fittrackee_client/./src/components/Common/Dropdown.vue?f7d5","webpack://fittrackee_client/./src/components/Common/Dropdown.vue","webpack://fittrackee_client/./src/components/Common/ErrorMessage.vue?c328","webpack://fittrackee_client/./src/components/Common/ErrorMessage.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/CyclingSport.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/CyclingSport.vue?4f4b","webpack://fittrackee_client/./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/CyclingTransport.vue?a81c","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Hiking.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Hiking.vue?cf60","webpack://fittrackee_client/./src/components/Common/Images/SportImage/MountainBiking.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/MountainBiking.vue?8a30","webpack://fittrackee_client/./src/components/Common/Images/SportImage/MountainBikingElectric.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/MountainBikingElectric.vue?f7ee","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Rowing.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Rowing.vue?c24b","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Running.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Running.vue?2cd2","webpack://fittrackee_client/./src/components/Common/Images/SportImage/SkiingAlpine.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/SkiingAlpine.vue?f1ff","webpack://fittrackee_client/./src/components/Common/Images/SportImage/SkiingCrossCountry.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/SkiingCrossCountry.vue?f0db","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Snowshoes.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Snowshoes.vue?cfb7","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Trail.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Trail.vue?5564","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Walking.vue","webpack://fittrackee_client/./src/components/Common/Images/SportImage/Walking.vue?f92f","webpack://fittrackee_client/./src/components/Common/Images/SportImage/index.vue?1cdd","webpack://fittrackee_client/./src/components/Common/Images/SportImage/index.vue","webpack://fittrackee_client/./src/components/Common/Loader.vue","webpack://fittrackee_client/./src/components/Common/Loader.vue?0b74","webpack://fittrackee_client/./src/components/Common/Modal.vue?0d9d","webpack://fittrackee_client/./src/components/Common/Modal.vue","webpack://fittrackee_client/./src/custom-components.ts","webpack://fittrackee_client/./src/directives.ts","webpack://fittrackee_client/./src/main.ts","webpack://fittrackee_client/./src/components/Administration/AdminApplication.vue?dc32","webpack://fittrackee_client/./src/components/Administration/AdminApplication.vue","webpack://fittrackee_client/./src/components/Common/StatCard.vue?3301","webpack://fittrackee_client/./src/components/Common/StatCard.vue","webpack://fittrackee_client/./src/components/Administration/AppStatsCards.vue?60fb","webpack://fittrackee_client/./src/components/Administration/AppStatsCards.vue","webpack://fittrackee_client/./src/components/Administration/AdminMenu.vue?0597","webpack://fittrackee_client/./src/components/Administration/AdminMenu.vue","webpack://fittrackee_client/./src/components/Administration/AdminSports.vue?05cc","webpack://fittrackee_client/./src/components/Administration/AdminSports.vue","webpack://fittrackee_client/./src/components/Users/UsersNameFilter.vue?0a55","webpack://fittrackee_client/./src/components/Users/UsersNameFilter.vue","webpack://fittrackee_client/./src/components/Administration/AdminUsers.vue?5a76","webpack://fittrackee_client/./src/components/Administration/AdminUsers.vue","webpack://fittrackee_client/./src/components/User/UserProfileTabs.vue?63ef","webpack://fittrackee_client/./src/components/User/UserProfileTabs.vue","webpack://fittrackee_client/./src/components/User/ProfileDisplay/index.vue?c76d","webpack://fittrackee_client/./src/components/User/ProfileDisplay/index.vue","webpack://fittrackee_client/./src/components/User/ProfileDisplay/UserPreferences.vue?a91b","webpack://fittrackee_client/./src/components/User/ProfileDisplay/UserPreferences.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/index.vue?8616","webpack://fittrackee_client/./src/components/User/ProfileEdition/index.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserAccountEdition.vue?a978","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserAccountEdition.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserInfosEdition.vue?38a2","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserPictureEdition.vue?05c1","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack://fittrackee_client/./src/utils/timezone.ts","webpack://fittrackee_client/./src/components/User/ProfileEdition/TimezoneDropdown.vue?5519","webpack://fittrackee_client/./src/components/User/ProfileEdition/TimezoneDropdown.vue","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserPreferencesEdition.vue?76a6","webpack://fittrackee_client/./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack://fittrackee_client/./src/components/User/UserSportPreferences.vue?5e40","webpack://fittrackee_client/./src/components/User/UserSportPreferences.vue","webpack://fittrackee_client/./src/components/About.vue?b879","webpack://fittrackee_client/./src/components/About.vue","webpack://fittrackee_client/./src/components/BikePic.vue","webpack://fittrackee_client/./src/components/BikePic.vue?a9e2","webpack://fittrackee_client/./src/views/AboutView.vue?9f41","webpack://fittrackee_client/./src/views/AboutView.vue","webpack://fittrackee_client/./src/components/Workout/WorkoutCard.vue?56e2","webpack://fittrackee_client/./src/components/Workout/WorkoutCard.vue","webpack://fittrackee_client/./src/components/Dashboard/Timeline.vue?046b","webpack://fittrackee_client/./src/components/Dashboard/Timeline.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarWorkout.vue?609b","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarWorkout.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/DonutChart.vue?08e2","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/DonutChart.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue?1aa0","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarWorkouts.vue?7291","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarWorkouts.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarCells.vue?b7e6","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarCells.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarDays.vue?4138","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarDays.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarHeader.vue?7e24","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/CalendarHeader.vue","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/index.vue?c598","webpack://fittrackee_client/./src/components/Dashboard/UserCalendar/index.vue","webpack://fittrackee_client/./src/components/Dashboard/UserMonthStats.vue?9128","webpack://fittrackee_client/./src/components/Dashboard/UserMonthStats.vue","webpack://fittrackee_client/./src/components/Dashboard/UserRecords/RecordsCard.vue?9439","webpack://fittrackee_client/./src/components/Dashboard/UserRecords/RecordsCard.vue","webpack://fittrackee_client/./src/utils/records.ts","webpack://fittrackee_client/./src/components/Dashboard/UserRecords/index.vue?7d56","webpack://fittrackee_client/./src/components/Dashboard/UserRecords/index.vue","webpack://fittrackee_client/./src/components/Dashboard/UserStatsCards/index.vue?c362","webpack://fittrackee_client/./src/components/Dashboard/UserStatsCards/index.vue","webpack://fittrackee_client/./src/views/Dashboard.vue?95bb","webpack://fittrackee_client/./src/views/Dashboard.vue","webpack://fittrackee_client/./src/views/NotFoundView.vue?8c2c","webpack://fittrackee_client/./src/views/NotFoundView.vue","webpack://fittrackee_client/./src/views/user/LoginOrRegister.vue?46fb","webpack://fittrackee_client/./src/views/user/LoginOrRegister.vue","webpack://fittrackee_client/./src/router/index.ts","webpack://fittrackee_client/./src/store/modules/authUser/enums.ts","webpack://fittrackee_client/./src/store/modules/root/enums.ts","webpack://fittrackee_client/./src/store/modules/sports/enums.ts","webpack://fittrackee_client/./src/store/modules/statistics/enums.ts","webpack://fittrackee_client/./src/store/modules/users/enums.ts","webpack://fittrackee_client/./src/store/constants.ts","webpack://fittrackee_client/./src/api/defaultApi.ts","webpack://fittrackee_client/./src/store/modules/users/actions.ts","webpack://fittrackee_client/./src/store/modules/authUser/actions.ts","webpack://fittrackee_client/./src/store/modules/authUser/getters.ts","webpack://fittrackee_client/./src/store/modules/authUser/mutations.ts","webpack://fittrackee_client/./src/store/modules/authUser/state.ts","webpack://fittrackee_client/./src/store/modules/authUser/index.ts","webpack://fittrackee_client/./src/store/modules/root/actions.ts","webpack://fittrackee_client/./src/store/modules/root/getters.ts","webpack://fittrackee_client/./src/store/modules/root/mutations.ts","webpack://fittrackee_client/./src/store/modules/root/state.ts","webpack://fittrackee_client/./src/store/modules/sports/actions.ts","webpack://fittrackee_client/./src/store/modules/sports/getters.ts","webpack://fittrackee_client/./src/store/modules/sports/mutations.ts","webpack://fittrackee_client/./src/store/modules/sports/state.ts","webpack://fittrackee_client/./src/store/modules/sports/index.ts","webpack://fittrackee_client/./src/store/modules/statistics/actions.ts","webpack://fittrackee_client/./src/store/modules/statistics/getters.ts","webpack://fittrackee_client/./src/store/modules/statistics/mutations.ts","webpack://fittrackee_client/./src/store/modules/statistics/state.ts","webpack://fittrackee_client/./src/store/modules/statistics/index.ts","webpack://fittrackee_client/./src/store/modules/users/getters.ts","webpack://fittrackee_client/./src/store/modules/users/mutations.ts","webpack://fittrackee_client/./src/store/modules/users/state.ts","webpack://fittrackee_client/./src/store/modules/users/index.ts","webpack://fittrackee_client/./src/store/modules/workouts/actions.ts","webpack://fittrackee_client/./src/store/modules/workouts/getters.ts","webpack://fittrackee_client/./src/store/modules/workouts/mutations.ts","webpack://fittrackee_client/./src/store/modules/workouts/state.ts","webpack://fittrackee_client/./src/store/modules/workouts/index.ts","webpack://fittrackee_client/./src/store/modules/root/index.ts","webpack://fittrackee_client/./src/store/index.ts","webpack://fittrackee_client/./src/store/modules/workouts/enums.ts","webpack://fittrackee_client/./src/use/useStore.ts","webpack://fittrackee_client/./src/utils/api.ts","webpack://fittrackee_client/./src/utils/dates.ts","webpack://fittrackee_client/./src/utils/files.ts","webpack://fittrackee_client/./src/utils/index.ts","webpack://fittrackee_client/./src/utils/locales.ts","webpack://fittrackee_client/./src/utils/sports.ts","webpack://fittrackee_client/./src/utils/statistics.ts","webpack://fittrackee_client/./src/utils/units.ts","webpack://fittrackee_client/./src/utils/workouts.ts","webpack://fittrackee_client/./src/components/Common/Card.vue","webpack://fittrackee_client/./src/components/Common/Card.vue?88f1","webpack://fittrackee_client/./src/components/Common/FilterSelects.vue?7823","webpack://fittrackee_client/./src/components/Common/FilterSelects.vue","webpack://fittrackee_client/./src/components/Common/Images/ErrorImg.vue","webpack://fittrackee_client/./src/components/Common/Images/ErrorImg.vue?6a2a","webpack://fittrackee_client/./src/components/Common/Error.vue?5a3e","webpack://fittrackee_client/./src/components/Common/Error.vue","webpack://fittrackee_client/./src/components/Common/NotFound.vue?45eb","webpack://fittrackee_client/./src/components/Common/NotFound.vue","webpack://fittrackee_client/./src/components/Common/Pagination.vue?e0b0","webpack://fittrackee_client/./src/components/Common/Pagination.vue","webpack://fittrackee_client/./src/utils/password.ts","webpack://fittrackee_client/./src/components/Common/PasswordStength.vue?1d44","webpack://fittrackee_client/./src/components/Common/PasswordStength.vue","webpack://fittrackee_client/./src/components/Common/PasswordInput.vue?e9ce","webpack://fittrackee_client/./src/components/Common/PasswordInput.vue","webpack://fittrackee_client/./src/components/Common/StaticMap.vue?d223","webpack://fittrackee_client/./src/components/Common/StaticMap.vue","webpack://fittrackee_client/./src/components/Common/StatsChart/index.vue?514a","webpack://fittrackee_client/./src/components/Common/StatsChart/Chart.vue?1909","webpack://fittrackee_client/./src/utils/duration.ts","webpack://fittrackee_client/./src/utils/tooltip.ts","webpack://fittrackee_client/./src/components/Common/StatsChart/Chart.vue?960e","webpack://fittrackee_client/./src/components/Common/StatsChart/Chart.vue","webpack://fittrackee_client/./src/components/Common/StatsChart/index.vue?279d","webpack://fittrackee_client/./src/components/Common/StatsChart/index.vue","webpack://fittrackee_client/./src/components/User/ProfileDisplay/UserHeader.vue?bf09","webpack://fittrackee_client/./src/components/User/ProfileDisplay/UserHeader.vue","webpack://fittrackee_client/./src/components/User/ProfileDisplay/UserInfos.vue?77c4","webpack://fittrackee_client/./src/components/User/ProfileDisplay/UserInfos.vue","webpack://fittrackee_client/./src/components/User/UserAuthForm.vue?09b2","webpack://fittrackee_client/./src/components/User/UserAuthForm.vue","webpack://fittrackee_client/./src/components/User/UserPicture.vue?4869","webpack://fittrackee_client/./src/components/User/UserPicture.vue","webpack://fittrackee_client/./src/components/Workouts/NoWorkouts.vue","webpack://fittrackee_client/./src/components/Workouts/NoWorkouts.vue?e10e","webpack://fittrackee_client/./src/locales|sync|/[A-Za-z0-9-_,\\s]+\\.ts$/i","webpack://fittrackee_client/webpack/bootstrap","webpack://fittrackee_client/webpack/runtime/chunk loaded","webpack://fittrackee_client/webpack/runtime/compat get default export","webpack://fittrackee_client/webpack/runtime/create fake namespace object","webpack://fittrackee_client/webpack/runtime/define property getters","webpack://fittrackee_client/webpack/runtime/ensure chunk","webpack://fittrackee_client/webpack/runtime/get javascript chunk filename","webpack://fittrackee_client/webpack/runtime/get mini-css chunk filename","webpack://fittrackee_client/webpack/runtime/global","webpack://fittrackee_client/webpack/runtime/hasOwnProperty shorthand","webpack://fittrackee_client/webpack/runtime/load script","webpack://fittrackee_client/webpack/runtime/make namespace object","webpack://fittrackee_client/webpack/runtime/publicPath","webpack://fittrackee_client/webpack/runtime/css loading","webpack://fittrackee_client/webpack/runtime/jsonp chunk loading","webpack://fittrackee_client/webpack/startup"],"sourcesContent":["import axios from 'axios'\n\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport { getApiUrl } from '@/utils'\n\nconst authApi = axios.create({\n baseURL: getApiUrl(),\n})\n\nauthApi.interceptors.request.use(\n (config) => {\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import { 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","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact the administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee is a self-hosted outdoor activity tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"under \", _interpolate(_list(0)), \" license \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Source code\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activate account\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administrator email for contact\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no contact email\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to reset \", _interpolate(_list(0)), \" password?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current email\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The password has been reset.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset password\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The email address has been updated.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account status\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The new email must be different than curent email\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that username is already taken.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A valid email must be provided for admininstrator contact\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend confirmation email\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"about\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems to have encountered some issues.
Please try again later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Something went wrong\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Snowshoes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Didn't received instructions?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. A new confirmation email has been sent to the address provided.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current password\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a valid email address.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter on username\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"log in\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New password\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No users found.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"At least 8 characters required.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"weak\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"good\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"strong\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"password strength\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid predictable letter substitutions like \", \"@\", \" for a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid reversed spellings of common words.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize some, but not all letters.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize more than the first letter.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid dates and years that are associated with you.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid recent years.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid years that are associated with you.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid common character sequences.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid repeated words and characters.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use longer keyboard patterns and change typing direction multiple times.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add more words that are less common.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use multiple words, but avoid common phrases.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can create strong passwords without using symbols, numbers, or uppercase letters.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If you use this password elsewhere, you should change it.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account edition\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Please \", _interpolate(_list(0)), \" to change your email address again or contact the administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully. Please check your email to confirm your new email address.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A link to activate your account has been emailed to the address provided.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend account confirmation email\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"show password\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user account is inactive.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 to 30 characters required, only alphanumeric characters and the underscore character \\\"_\\\" allowed.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farthest distance\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start and finish\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AboutTranslations from './about.json'\nimport 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 about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contacter l'administrateur\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee est un tracker d'activités sportives (en extérieur).\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"sous license \", _interpolate(_list(0)), \" (en)\"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Code source (en)\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer le compte\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email de l'administrateur pour contact \"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"non renseigné\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur \", _interpolate(_list(0)), \" ?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse email actuelle\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouvelle adresse email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le mot de passe a été réinitialisé.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit. le mot de passe\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changer l'email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'adresse email a été mise à jour.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les droits d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les droits d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"statut du compte\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email : une adresse email valide doit être fournie.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur Réseau.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La nouvelle addresse email doit être differente de l'adresse actuelle\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, ce nom d'utilisateur est déjà utilisé.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une adresse email doit être fournie pour le contact de l'administrateur.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau l'email de confirmation\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit.\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à propos\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de Bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur s'est produite\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Electrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Raquettes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas reçu les instructions ?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email fournie.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe actuel\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir un mot de passe\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer sur le nom d'utilisateur\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"connecter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouveau mot de passe\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aucun utilisateur trouvé.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"8 caractères minimum.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"faible\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"moyenne\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bonne\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"forte\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"robustesse du mot de passe \"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les substitutions de lettres prévisibles comme \", \"@\", \" pour a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les orthographes inversées des mots courants\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettez quelques lettres en majuscules, mais pas toutes.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalisez mais pas seulement la première lettre.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dates et les années qui vous sont associées. (ex: date ou année de naissance)\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dernières années.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les années qui vous sont associées. (ex: date de naissance)\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les séquences de caractères courantes.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les mots et les caractères répétés.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez des mots moins courants.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez plusieurs mots, mais évitez les phrases courantes.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du compte\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Veuillez vous \", _interpolate(_list(0)), \" pour changer de nouveau votre adresse email ou contacter l'administrateur\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"compte\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances \"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès. Veuillez vérifier votre boite email pour valider votre nouvelle adresse email.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Un lien pour activer votre compte a été envoyé à l'adresse email fournie.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès.\"])},\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau l'email de confirmation de compte\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher le mot de passe\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le compte de cet utilisateur est inactif.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère \\\"_\\\" sont autorisés.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Départ et arrivée\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AboutTranslations from './about.json'\nimport 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 about: AboutTranslations,\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","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2c73279e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_6 = { class: \"footer-item\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"footer-item bullet\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"footer-item\"\n}\nconst _hoisted_9 = [\"href\"]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_11 = { class: \"footer-item\" }\nconst _hoisted_12 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n adminContact?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n version: null,\n adminContact: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n adminContact?: string\n }\n\n \n\n const { adminContact, version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, { to: \"/about\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('common.ABOUT')), 1)\n ]),\n _: 1\n })\n ]),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, \"•\"))\n : _createCommentVNode(\"\", true),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(adminContact)}`\n }, _toDisplayString(_ctx.$t('common.CONTACT')), 9, _hoisted_9)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"a\", _hoisted_12, _toDisplayString(_ctx.$t('common.DOCUMENTATION')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=2c73279e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2c73279e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0d4f0b8f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !_unref(isMenuOpen) }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=0d4f0b8f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0d4f0b8f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47759238\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"no-config\" }\nconst _hoisted_2 = { class: \"error-page\" }\nconst _hoisted_3 = { class: \"error-img\" }\nconst _hoisted_4 = [\"innerHTML\"]\n\nimport ErrorImg from '@/components/Common/Images/ErrorImg.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(ErrorImg)\n ]),\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('error.APP_ERROR')\n }, null, 8, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=47759238&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47759238\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1)\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG))\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : '',\n adminContact: _unref(appConfig).admin_contact\n }, null, 8, [\"version\", \"adminContact\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=c446fb44&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69d7e4ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=69d7e4ff&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-69d7e4ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, isRef as _isRef, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3ec2aca2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { type: Boolean, default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string }\n\n \n\n \n\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(text) ? (text).value = $event : text = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, _unref(text)]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(_unref(text).length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=3ec2aca2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3ec2aca2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f46ff1d6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: { type: Boolean },\n digits: { default: 2 },\n displayUnit: { type: Boolean, default: true },\n speed: { type: Boolean, default: false },\n strong: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=f46ff1d6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f46ff1d6\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ca61364c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (_unref(isOpen))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ca61364c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2659a79a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=2659a79a&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2659a79a\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Snowshoes.vue?vue&type=template&id=67df2761\"\nimport script from \"./Snowshoes.vue?vue&type=script&lang=js\"\nexport * from \"./Snowshoes.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Snowshoes from '@/components/Common/Images/SportImage/Snowshoes.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 11 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=4c9921ee&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=4c9921ee&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c9921ee\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e8fcfaba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=e8fcfaba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e8fcfaba\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\nimport VueFullscreen from 'vue-fullscreen'\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 .use(VueFullscreen, { name: 'VFullscreen' })\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-24ec93e2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"admin_contact\" }\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = { for: \"max_users\" }\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = { class: \"user-limit-help\" }\nconst _hoisted_9 = { class: \"info-box\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { for: \"max_single_file_size\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { for: \"max_zip_file_size\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { for: \"gpx_limit_import\" }\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_18 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n toRefs,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n edition: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n const { edition } = toRefs(props)\n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n admin_contact: '',\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ADMIN_CONTACT')) + \": \", 1),\n (!_unref(edition) && !_unref(appData).admin_contact)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"no-contact\",\n value: _ctx.$t('admin.APP_CONFIG.NO_CONTACT_EMAIL'),\n disabled: \"\"\n }, null, 8, _hoisted_4))\n : _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 1,\n id: \"admin_contact\",\n name: \"admin_contact\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(appData).admin_contact) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_5)), [\n [_vModelText, _unref(appData).admin_contact]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(appData).max_users) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_7), [\n [_vModelText, _unref(appData).max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(appData).max_single_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_12), [\n [_vModelText, _unref(appData).max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(appData).max_zip_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_14), [\n [_vModelText, _unref(appData).max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(appData).gpx_limit_import) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_16), [\n [_vModelText, _unref(appData).gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(edition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", _hoisted_18, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_19)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=24ec93e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-24ec93e2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=6cbb3351&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=61c5053e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcb269a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_4 = { class: \"registration-status\" }\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=1bcb269a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcb269a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6d62af67\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d62af67&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6d62af67\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withKeys as _withKeys, createElementVNode as _createElementVNode, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-627a8e91\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"users-filters\" }\nconst _hoisted_2 = { class: \"search-username\" }\nconst _hoisted_3 = [\"onKeyup\", \"placeholder\"]\n\nimport { ref } from 'vue'\n import { useRoute } from 'vue-router'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['filterOnUsername'],\n setup(__props, { emit }) {\n\n const route = useRoute()\n const username = ref(route.query.q ? route.query.q : '')\n\n \n function searchUsers() {\n if (username.value !== '') {\n emit('filterOnUsername', username)\n }\n }\n function resetFilter() {\n username.value = ''\n emit('filterOnUsername', username.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"username\",\n name: \"username\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((username).value = $event)),\n onKeyup: _withKeys(searchUsers, [\"enter\"]),\n placeholder: _ctx.$t('user.FILTER_ON_USERNAME')\n }, null, 40, _hoisted_3), [\n [\n _vModelText,\n username.value,\n void 0,\n { trim: true }\n ]\n ]),\n (username.value !== '')\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-times\",\n \"aria-hidden\": \"true\",\n onClick: resetFilter\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-search\", { 'fa-disabled': username.value === '' }]),\n \"aria-hidden\": \"true\",\n onClick: searchUsers\n }, null, 2)\n ]))\n}\n}\n\n})","import script from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./UsersNameFilter.vue?vue&type=style&index=0&id=627a8e91&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-627a8e91\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4735c10f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"no-users\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"responsive-table\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"left-text\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"text-center\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"text-center\" }\nconst _hoisted_17 = { class: \"cell-heading\" }\nconst _hoisted_18 = { class: \"text-center\" }\nconst _hoisted_19 = { class: \"cell-heading\" }\nconst _hoisted_20 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import UsersNameFilter from '@/components/Users/UsersNameFilter.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'is_active',\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function searchUsers(username: Ref) {\n reloadUsers('q', username.value)\n }\n\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(UsersNameFilter, { onFilterOnUsername: searchUsers }),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(users).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('user.NO_USERS_FOUND')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_4,\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/admin/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.is_active ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_20)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=4735c10f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4735c10f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n tabs: null,\n selectedTab: null,\n edition: { type: Boolean },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'ACCOUNT':\n case 'PICTURE':\n return `/profile/edit/${tab.toLocaleLowerCase()}`\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab) === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=40025245&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e26535e0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=e26535e0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e26535e0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'ACCOUNT', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-46fcf129\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = {\n class: \"form-items\",\n for: \"password-field\"\n}\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"new-password-field\"\n}\nconst _hoisted_9 = { class: \"form-buttons\" }\nconst _hoisted_10 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n watch,\n onUnmounted,\n } from 'vue'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserAccountPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n const { user } = toRefs(props)\n\n const store = useStore()\n const userForm: IUserAccountPayload = reactive({\n email: '',\n password: '',\n new_password: '',\n })\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const emailUpdate = ref(false)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const formErrors = ref(false)\n const displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function invalidateForm() {\n formErrors.value = true\n }\n function updateUserForm(user: IUserProfile) {\n userForm.email = user.email\n }\n function updatePassword(password: string) {\n userForm.password = password\n }\n function updateNewPassword(new_password: string) {\n userForm.new_password = new_password\n }\n function updateProfile() {\n const payload: IUserAccountPayload = {\n email: userForm.email,\n password: userForm.password,\n }\n if (userForm.new_password) {\n payload.new_password = userForm.new_password\n }\n emailUpdate.value = userForm.email !== user.value.email\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT, payload)\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 onUnmounted(() => {\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\n watch(\n () => isSuccess.value,\n async (isSuccessValue) => {\n if (isSuccessValue) {\n updatePassword('')\n updateNewPassword('')\n updateUserForm(user.value)\n formErrors.value = false\n }\n }\n )\n watch(\n () => user.value.email,\n async () => {\n updateUserForm(user.value)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(`user.PROFILE.SUCCESSFUL_${emailUpdate.value ? 'EMAIL_' : ''}UPDATE`)), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).email) = $event)),\n disabled: _unref(loading),\n required: true,\n onInvalid: invalidateForm\n }, null, 40, _hoisted_6), [\n [_vModelText, _unref(userForm).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.CURRENT_PASSWORD')) + \"* \", 1),\n _createVNode(PasswordInput, {\n id: \"password-field\",\n disabled: _unref(loading),\n password: _unref(userForm).password,\n required: true,\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.NEW_PASSWORD')) + \" \", 1),\n _createVNode(PasswordInput, {\n id: \"new-password-field\",\n disabled: _unref(loading),\n checkStrength: true,\n password: _unref(userForm).new_password,\n isSuccess: false,\n onUpdatePassword: updateNewPassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", _hoisted_10, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 42, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAccountEdition.vue?vue&type=style&index=0&id=46fcf129&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-46fcf129\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b6bacea0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_9 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { class: \"form-items\" }\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPayload = reactive({\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\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\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_7), [\n [_vModelText, _unref(userForm).first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).last_name) = $event))\n }, null, 512), [\n [_vModelText, _unref(userForm).last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_10), [\n [_vModelText, _unref(userForm).birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(userForm).location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_12), [\n [_vModelText, _unref(userForm).location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: _unref(userForm).bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=b6bacea0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b6bacea0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3a97bb3c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs, onUnmounted } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !_unref(pictureFile)\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=3a97bb3c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3a97bb3c\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47ea2903\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n input: null,\n disabled: { type: Boolean, default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref_key: \"tzList\",\n ref: tzList\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=47ea2903&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47ea2903\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const imperialUnits = [\n {\n label: 'IMPERIAL',\n value: true,\n },\n {\n label: 'METRIC',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, _unref(userForm).language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: _unref(userForm).timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"weekm\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).weekm) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"option\", {\n value: start.value,\n key: start.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 9, _hoisted_10)\n }), 64))\n ], 8, _hoisted_9), [\n [_vModelSelect, _unref(userForm).weekm]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"imperial_units\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).imperial_units) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"option\", {\n value: unit.value,\n key: unit.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 9, _hoisted_13)\n }), 64))\n ], 8, _hoisted_12), [\n [_vModelSelect, _unref(userForm).imperial_units]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4775544a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\", \"onClick\"]\nconst _hoisted_25 = [\"disabled\"]\nconst _hoisted_26 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_27 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n isEdition: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const sportColors = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, 'is_active', user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color ? sport.color : sportColors[sport.label]\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n function resetSport(event: Event, sportId: number) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES,\n sportId\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: _unref(sportPayload).color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && _unref(sportPayload).sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _unref(sportPayload).stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (_unref(sportPayload).sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: (e) => resetSport(e, sport.id)\n }, _toDisplayString(_ctx.$t('buttons.RESET')), 9, _hoisted_24),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_25)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=4775544a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4775544a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74257266\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"about-text\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-book fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-github fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = {\n href: \"https://github.com/SamR1/FitTrackee\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-balance-scale fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://choosealicense.com/licenses/agpl-3.0/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}, \" AGPLv3 \", -1))\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-envelope-o fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\"href\"]\n\nimport { ComputedRef, computed, capitalize } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('about.FITTRACKEE_DESCRIPTION')\n }, null, 8, _hoisted_2),\n _createElementVNode(\"p\", null, [\n _hoisted_3,\n _createElementVNode(\"a\", _hoisted_4, _toDisplayString(capitalize(_ctx.$t('common.DOCUMENTATION'))), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_5,\n _createElementVNode(\"a\", _hoisted_6, _toDisplayString(_ctx.$t('about.SOURCE_CODE')), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_7,\n _createVNode(_component_i18n_t, { keypath: \"about.FITTRACKEE_LICENSE\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n })\n ]),\n (_unref(appConfig).admin_contact)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(appConfig).admin_contact}`\n }, _toDisplayString(_ctx.$t('about.CONTACT_ADMIN')), 9, _hoisted_11)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./About.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./About.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./About.vue?vue&type=style&index=0&id=74257266&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74257266\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=795f7f5f&scoped=true\"\nconst script = {}\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=795f7f5f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-795f7f5f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bffb50d0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"about\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub about-details\" }\n\nimport About from '@/components/About.vue'\n import BikePic from '@/components/BikePic.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(About)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./AboutView.vue?vue&type=style&index=0&id=bffb50d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bffb50d0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c9d1f10c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"timeline-workout\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"workout-user-date\" }\nconst _hoisted_4 = { class: \"workout-user\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = {\n key: 1,\n class: \"no-map\"\n}\nconst _hoisted_8 = { class: \"img\" }\nconst _hoisted_9 = { class: \"data\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"data\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"data elevation\"\n}\nconst _hoisted_15 = [\"alt\"]\nconst _hoisted_16 = { class: \"data-values\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"/ \")\nconst _hoisted_18 = {\n key: 1,\n class: \"data altitude\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_20 = { class: \"data-values\" }\nconst _hoisted_21 = /*#__PURE__*/_createTextVNode(\" +\")\nconst _hoisted_22 = /*#__PURE__*/_createTextVNode(\"/- \")\n\nimport { Locale, format, formatDistance } from 'date-fns'\n import { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import StaticMap from '@/components/Common/StaticMap.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n user: IUserProfile\n useImperialUnits: boolean\n workout?: IWorkout\n sport?: ISport\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n useImperialUnits: { type: Boolean },\n workout: { default: () => ({} as IWorkout) },\n sport: { default: () => ({} as ISport) }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, useImperialUnits: boolean, workout: IWorkout, sport: ISport }\n\n \n\n const store = useStore()\n\n const { user, workout, sport, useImperialUnits } = toRefs(props)\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n (_unref(user).username)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-user-name\",\n to: {\n name: 'User',\n params: { username: _unref(user).username },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(user).username), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-title\",\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(workout).title), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true),\n (_unref(workout).workout_date && _unref(user))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"workout-date\",\n title: \n _unref(format)(\n _unref(getDateWithTZ)(_unref(workout).workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )\n \n }, _toDisplayString(_unref(formatDistance)(new Date(_unref(workout).workout_date), new Date(), {\n addSuffix: true,\n locale: _unref(locale),\n })), 9, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-map\", { 'no-cursor': !_unref(workout) }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_unref(workout).with_gpx)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: _unref(workout)\n }, null, 8, [\"workout\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-data\", { 'without-gpx': _unref(workout) && !_unref(workout).with_gpx }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(sport).label)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_unref(workout).moving), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).distance,\n digits: 3,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_15),\n _createElementVNode(\"div\", _hoisted_16, [\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).min_alt,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_17,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).max_alt,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).ascent,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_22,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=c9d1f10c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-c9d1f10c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9ef2a9ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"timeline\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = {\n key: 1,\n class: \"more-workouts\"\n}\n\nimport { ComputedRef, computed, ref, onBeforeMount, toRefs } from 'vue'\n\n import WorkoutCard from '@/components/Workout/WorkoutCard.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n let page = ref(1)\n const per_page = 5\n const initWorkoutsCount =\n props.user.nb_workouts >= per_page ? per_page : props.user.nb_workouts\n onBeforeMount(() => loadWorkouts())\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]\n )\n const moreWorkoutsExist: ComputedRef = computed(() =>\n workouts.value.length > 0\n ? workouts.value[workouts.value.length - 1].previous_workout !== null\n : false\n )\n\n function loadWorkouts() {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n function loadMoreWorkouts() {\n page.value += 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.LATEST_WORKOUTS')), 1),\n (_unref(user).nb_workouts > 0 && _unref(workouts).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList([...Array(_unref(initWorkoutsCount)).keys()], (index) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: index\n }, null, 8, [\"user\", \"useImperialUnits\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n workout: workout,\n sport: \n _unref(workouts).length > 0\n ? _unref(sports).filter((s) => s.id === workout.sport_id)[0]\n : null\n ,\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: workout.id\n }, null, 8, [\"workout\", \"sport\", \"user\", \"useImperialUnits\"]))\n }), 128)),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(moreWorkoutsExist))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", { onClick: loadMoreWorkouts }, _toDisplayString(_ctx.$t('workouts.LOAD_MORE_WORKOUT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}\n}\n\n})","import script from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=9ef2a9ac&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-9ef2a9ac\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n interface Props {\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workout: null,\n sportLabel: null,\n sportColor: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n\n \n\n const { workout, sportLabel, sportColor } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-workout\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _ctx.$router.push({ name: 'Workout', params: { workoutId: _unref(workout).id } })\n ))\n }, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sportLabel),\n title: _unref(workout).title,\n color: _unref(sportColor)\n }, null, 8, [\"sport-label\", \"title\", \"color\"]),\n _createElementVNode(\"sup\", null, [\n (_unref(workout).records.length > 0)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\",\n title: \n _unref(workout).records.map(\n (record) => ` ${_ctx.$t(`workouts.RECORD_${record.record_type}`)}`\n )\n \n }, null, 8, _hoisted_1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=7de0052b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"donut-chart\" }\nconst _hoisted_2 = {\n height: \"34\",\n width: \"34\",\n viewBox: \"0 0 34 34\"\n}\nconst _hoisted_3 = [\"stroke\", \"stroke-dashoffset\", \"transform\"]\n\nimport { toRefs } from 'vue'\n\n interface Props {\n colors: Record\n datasets: Record>\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n colors: null,\n datasets: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n }\n\n \n\n const { colors, datasets } = toRefs(props)\n let angleOffset = -90\n const cx = 16\n const cy = 16\n const radius = 14\n const circumference = 2 * Math.PI * radius\n\n function calculateStrokeDashOffset(\n percentage: number,\n circumference: number\n ): number {\n return circumference - percentage * circumference\n }\n function returnCircleTransformValue(\n index: number,\n percentage: number\n ): string {\n const rotation = `rotate(${angleOffset}, ${cx}, ${cy})`\n angleOffset = percentage * 360 + angleOffset\n return rotation\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.entries(_unref(datasets)), (data, index) => {\n return (_openBlock(), _createElementBlock(\"g\", { key: index }, [\n _createElementVNode(\"circle\", {\n cx: cx,\n cy: cy,\n r: radius,\n fill: \"transparent\",\n stroke: _unref(colors)[+data[0]],\n \"stroke-dashoffset\": \n calculateStrokeDashOffset(data[1].percentage, circumference)\n ,\n \"stroke-dasharray\": circumference,\n \"stroke-width\": \"3\",\n \"stroke-opacity\": \"0.8\",\n transform: returnCircleTransformValue(index, data[1].percentage)\n }, null, 8, _hoisted_3)\n ]))\n }), 128))\n ]))\n ]))\n}\n}\n\n})","import script from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52d4310a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-workouts-chart\" }\nconst _hoisted_2 = { class: \"workouts-count\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-pane\"\n}\nconst _hoisted_4 = { class: \"more-workouts\" }\n\nimport { ref, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import DonutChart from '@/components/Dashboard/UserCalendar/DonutChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n\n interface Props {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n colors: null,\n datasets: null,\n sports: null,\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n\n \n\n const { colors, datasets, sports, workouts } = toRefs(props)\n const isHidden = ref(true)\n\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_click_outside = _resolveDirective(\"click-outside\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"workouts-chart\",\n onClick: togglePane\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(workouts).length), 1),\n _createVNode(DonutChart, {\n datasets: _unref(datasets),\n colors: _unref(colors)\n }, null, 8, [\"datasets\", \"colors\"])\n ]),\n (!isHidden.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fa fa-times calendar-more\",\n \"aria-hidden\": \"true\",\n onClick: togglePane\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ])), [\n [_directive_click_outside, togglePane]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=52d4310a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52d4310a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-workouts\" }\nconst _hoisted_2 = { class: \"desktop-display\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-display\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"donut-display\"\n}\nconst _hoisted_5 = { class: \"mobile-display\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"donut-display\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import CalendarWorkoutsChart from '@/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n interface Props {\n workouts: IWorkout[]\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workouts: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workouts: IWorkout[]\n sports: ISport[]\n }\n\n \n\n const { workouts, sports } = toRefs(props)\n const chartDatasets = computed(() => getDonutDatasets(props.workouts))\n const colors = computed(() => sportIdColors(props.sports))\n const displayedWorkoutCount = 6\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(workouts).length <= displayedWorkoutCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts).slice(0, displayedWorkoutCount), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=4663dbac&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-cells\" }\nconst _hoisted_2 = { class: \"calendar-cell-day\" }\n\nimport { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import { Ref, ref, toRefs, watch, onMounted } from 'vue'\n\n import CalendarWorkouts from '@/components/Dashboard/UserCalendar/CalendarWorkouts.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n currentDay: Date\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n currentDay: null,\n endDate: null,\n sports: null,\n startDate: null,\n timezone: null,\n weekStartingMonday: { type: Boolean },\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n currentDay: Date\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n\n \n\n const {\n currentDay,\n endDate,\n sports,\n startDate,\n timezone,\n weekStartingMonday,\n workouts,\n } = toRefs(props)\n const rows: Ref = ref([])\n\n onMounted(() => getDays())\n\n function getDays() {\n rows.value = []\n let day = startDate.value\n while (day <= endDate.value) {\n const days: Date[] = []\n for (let i = 0; i < 7; i++) {\n days.push(day)\n day = addDays(day, 1)\n }\n rows.value.push(days)\n }\n }\n function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(getDateWithTZ(workout.workout_date, timezone.value), day)\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(rows.value, (row, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-row\",\n key: index\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row, (day, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"calendar-cell\", {\n 'disabled-cell': !_unref(isSameMonth)(day, _unref(currentDay)),\n 'week-end': isWeekEnd(i),\n today: _unref(isToday)(day),\n }]),\n key: i\n }, [\n _createVNode(CalendarWorkouts, {\n workouts: filterWorkouts(day, _unref(workouts)),\n sports: _unref(sports)\n }, null, 8, [\"workouts\", \"sports\"]),\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(format)(day, 'd')), 1)\n ], 2))\n }), 128))\n ]))\n }), 128))\n ]))\n}\n}\n\n})","import script from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=73426002&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-days\" }\n\nimport { Locale, format, addDays } from 'date-fns'\n\n interface Props {\n startDate: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n startDate: null,\n localeOptions: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n startDate: Date\n localeOptions: Locale\n }\n\n \n\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(days, (day, index) => {\n return _createElementVNode(\"div\", {\n class: \"calendar-day\",\n key: index\n }, _toDisplayString(_unref(format)(day, 'EEE', { locale: __props.localeOptions })), 1)\n }), 64))\n ]))\n}\n}\n\n})","import script from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=4f3dc99e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-header\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = { class: \"calendar-month\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { Locale, format } from 'date-fns'\n import { toRefs } from 'vue'\n\n interface Props {\n day: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n day: null,\n localeOptions: null\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n day: Date\n localeOptions: Locale\n }\n\n \n\n \n\n const { day, localeOptions } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-left\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('displayPreviousMonth')))\n }, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(format)(_unref(day), 'MMM yyyy', { locale: _unref(localeOptions) })), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-right\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('displayNextMonth')))\n }, _hoisted_6)\n ]))\n}\n}\n\n})","import script from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=79a65a70&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-calendar\" }\nconst _hoisted_2 = { class: \"calendar-card box\" }\n\nimport { Locale, addMonths, format, subMonths } from 'date-fns'\n import { ComputedRef, computed, ref, toRefs, onBeforeMount } from 'vue'\n\n import CalendarCells from '@/components/Dashboard/UserCalendar/CalendarCells.vue'\n import CalendarDays from '@/components/Dashboard/UserCalendar/CalendarDays.vue'\n import CalendarHeader from '@/components/Dashboard/UserCalendar/CalendarHeader.vue'\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getCalendarStartAndEnd } from '@/utils/dates'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const dateFormat = 'yyyy-MM-dd'\n let day = ref(new Date())\n let calendarDates = ref(getCalendarStartAndEnd(day.value, props.user.weekm))\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n const localeOptions: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\n onBeforeMount(() => getCalendarWorkouts())\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(day.value, props.user.weekm)\n const apiParams: TWorkoutsPayload = {\n from: format(calendarDates.value.start, dateFormat),\n to: format(calendarDates.value.end, dateFormat),\n page: 1,\n per_page: 100,\n ...defaultOrder,\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS, apiParams)\n }\n function displayNextMonth() {\n day.value = addMonths(day.value, 1)\n getCalendarWorkouts()\n }\n function displayPreviousMonth() {\n day.value = subMonths(day.value, 1)\n getCalendarWorkouts()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(CalendarHeader, {\n day: _unref(day),\n \"locale-options\": _unref(localeOptions),\n onDisplayNextMonth: displayNextMonth,\n onDisplayPreviousMonth: displayPreviousMonth\n }, null, 8, [\"day\", \"locale-options\"]),\n _createVNode(CalendarDays, {\n \"start-date\": _unref(calendarDates).start,\n \"locale-options\": _unref(localeOptions)\n }, null, 8, [\"start-date\", \"locale-options\"]),\n _createVNode(CalendarCells, {\n currentDay: _unref(day),\n \"end-date\": _unref(calendarDates).end,\n sports: _unref(sports),\n \"start-date\": _unref(calendarDates).start,\n timezone: _unref(user).timezone,\n workouts: _unref(calendarWorkouts),\n weekStartingMonday: _unref(user).weekm\n }, null, 8, [\"currentDay\", \"end-date\", \"sports\", \"start-date\", \"timezone\", \"workouts\", \"weekStartingMonday\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=4b0ade2c&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcddc12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-month-stats\" }\n\nimport { endOfMonth, startOfMonth } from 'date-fns'\n import { toRefs } from 'vue'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { sports, user } = toRefs(props)\n const date = new Date()\n const chartParams = {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n }\n const selectedSportIds = props.sports.map((sport) => sport.id)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.THIS_MONTH')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(StatChart, {\n sports: _unref(sports),\n user: _unref(user),\n \"chart-params\": chartParams,\n \"displayed-sport-ids\": _unref(selectedSportIds),\n \"hide-chart-if-no-data\": true\n }, null, 8, [\"sports\", \"user\", \"displayed-sport-ids\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=1bcddc12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcddc12\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-aee1f956\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"records-card\" }\nconst _hoisted_2 = { class: \"record-type\" }\nconst _hoisted_3 = { class: \"record-value\" }\nconst _hoisted_4 = { class: \"record-date\" }\n\nimport { toRefs } from 'vue'\n\n import { IRecordsBySports } from '@/types/workouts'\n\n interface Props {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n records: null,\n sportTranslatedLabel: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n\n \n\n const { records, sportTranslatedLabel } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(records).label,\n color: _unref(records).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(sportTranslatedLabel)), 1)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(records).records, (record) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"record\",\n key: record.id\n }, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.$t(`workouts.RECORD_${record.record_type}`)), 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(record.value), 1),\n _createElementVNode(\"span\", _hoisted_4, [\n _createVNode(_component_router_link, {\n to: {\n name: 'Workout',\n params: { workoutId: record.workout_id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(record.workout_date), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ])\n ]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=aee1f956&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-aee1f956\"]])\n\nexport default __exports__","import { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const unitFrom: TUnit = 'km'\n const unitTo: TUnit = useImperialUnits\n ? units[unitFrom].defaultTarget\n : unitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n unitFrom,\n unitTo,\n 2\n )} ${unitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(+record.value, unitFrom, unitTo, 3)} ${unitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\n workout_id: record.workout_id,\n id: record.id,\n record_type: record.record_type,\n value: value,\n }\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string,\n useImperialUnits: boolean\n): IRecordsBySports =>\n records.reduce((sportList: IRecordsBySports, record) => {\n const sport = translatedSports.find((s) => s.id === record.sport_id)\n if (sport && sport.label) {\n if (sportList[sport.translatedLabel] === void 0) {\n sportList[sport.translatedLabel] = {\n label: sport.label,\n color: sport.color,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(\n formatRecord(record, tz, useImperialUnits)\n )\n }\n return sportList\n }, {})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ae25a82a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-records-section\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"user-records\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"no-records\"\n}\n\nimport { computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import RecordsCard from '@/components/Dashboard/UserRecords/RecordsCard.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone,\n props.user.imperial_units\n )\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.RECORD', 2)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (Object.keys(_unref(recordsBySport)).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_RECORDS')), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.keys(_unref(recordsBySport)).sort(), (sportTranslatedLabel) => {\n return (_openBlock(), _createBlock(RecordsCard, {\n sportTranslatedLabel: sportTranslatedLabel,\n records: _unref(recordsBySport)[sportTranslatedLabel],\n key: sportTranslatedLabel,\n useImperialUnits: __props.user.imperial_units\n }, null, 8, [\"sportTranslatedLabel\", \"records\", \"useImperialUnits\"]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=ae25a82a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ae25a82a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { ComputedRef, computed, toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { TUnit } from '@/types/units'\n import { IAuthUserProfile } from '@/types/user'\n import { convertDistance, units } from '@/utils/units'\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const { user } = toRefs(props)\n const userTotalDuration: ComputedRef = computed(\n () => props.user.total_duration\n )\n const totalDuration = computed(() => get_duration(userTotalDuration))\n const defaultUnitFrom: TUnit = 'km'\n const unitTo: TUnit = user.value.imperial_units\n ? units[defaultUnitFrom].defaultTarget\n : defaultUnitFrom\n const totalDistance: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_distance, defaultUnitFrom, unitTo, 2)\n : parseFloat(user.value.total_distance.toFixed(2))\n )\n\n function get_duration(total_duration: ComputedRef) {\n const duration = total_duration.value.match(/day/g)\n ? total_duration.value.split(', ')[1]\n : total_duration.value\n return {\n days: total_duration.value.match(/day/g)\n ? `${total_duration.value.split(' ')[0]} ${\n total_duration.value.match(/days/g)\n ? t('common.DAY', 2)\n : t('common.DAY', 1)\n }`\n : `0 ${t('common.DAY', 2)},`,\n duration: `${duration.split(':')[0]}h ${duration.split(':')[1]}min`,\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(user).nb_workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"road\",\n value: _unref(totalDistance),\n text: _unref(unitTo) === 'mi' ? 'miles' : _unref(unitTo)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"clock-o\",\n value: _unref(totalDuration).days,\n text: _unref(totalDuration).duration\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(user).nb_sports,\n text: _ctx.$t('workouts.SPORT', _unref(user).nb_sports)\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=6c24b4fa&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20e19721\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"dashboard\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container mobile-menu\" }\nconst _hoisted_3 = { class: \"box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-calendar\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-bar-chart\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"container\" }\nconst _hoisted_13 = { class: \"container dashboard-container\" }\nconst _hoisted_14 = { class: \"left-container dashboard-sub-container\" }\nconst _hoisted_15 = { class: \"right-container dashboard-sub-container\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_17 = {\n key: 1,\n class: \"app-loading\"\n}\n\nimport { ComputedRef, Ref, computed, ref } from 'vue'\n\n import Timeline from '@/components/Dashboard/Timeline.vue'\n import UserCalendar from '@/components/Dashboard/UserCalendar/index.vue'\n import UserMonthStats from '@/components/Dashboard/UserMonthStats.vue'\n import UserRecords from '@/components/Dashboard/UserRecords/index.vue'\n import UserStatsCards from '@/components/Dashboard/UserStatsCards/index.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const isSelected: Ref = ref('calendar')\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n\n return (_unref(authUser).username && _unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'calendar' }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (updateDisplayColumn('calendar')))\n }, _hoisted_5, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'chart' }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayColumn('chart')))\n }, _hoisted_7, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'timeline' }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayColumn('timeline')))\n }, _hoisted_9, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'records' }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateDisplayColumn('records')))\n }, _hoisted_11, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(UserStatsCards, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(UserMonthStats, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'chart') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(UserRecords, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'records') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(UserCalendar, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'calendar') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(Timeline, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'timeline') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ])\n ]),\n _hoisted_16\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Loader)\n ]))\n}\n}\n\n})","import script from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=20e19721&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20e19721\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"not-found view\" }\n\nimport NotFound from '@/components/Common/NotFound.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(NotFound)\n ]))\n}\n}\n\n})","import script from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6a38125b\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"loginOrRegister\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub\" }\n\nimport { toRefs } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n action: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n action: string\n }\n\n \n\n const { action } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoginOrRegisterForm, { action: _unref(action) }, null, 8, [\"action\"])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=6a38125b&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6a38125b\"]])\n\nexport default __exports__","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 UserAccountEdition from '@/components/User/ProfileEdition/UserAccountEdition.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport AboutView from '@/views/AboutView.vue'\nimport Dashboard from '@/views/Dashboard.vue'\nimport NotFoundView from '@/views/NotFoundView.vue'\nimport LoginOrRegister from '@/views/user/LoginOrRegister.vue'\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: Dashboard,\n },\n {\n path: '/login',\n name: 'Login',\n component: LoginOrRegister,\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: LoginOrRegister,\n props: { action: 'register' },\n },\n {\n path: '/account-confirmation',\n name: 'AccountConfirmation',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/AccountConfirmationView.vue'\n ),\n },\n {\n path: '/account-confirmation/resend',\n name: 'AccountConfirmationResend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'account-confirmation-resend' },\n },\n {\n path: '/account-confirmation/email-sent',\n name: 'AccountConfirmationEmailSend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'email-sent' },\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: '/email-update',\n name: 'EmailUpdate',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/EmailUpdateView.vue'\n ),\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'account',\n name: 'UserAccountEdition',\n component: UserAccountEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'statistics' */ '@/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/:username',\n name: 'UserFromAdmin',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n props: { fromAdmin: true },\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/about',\n name: 'About',\n component: AboutView,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: NotFoundView,\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 '/account-confirmation',\n '/account-confirmation/resend',\n '/account-confirmation/email-sent',\n]\n\nconst pathsWithoutChecks = ['/email-update', '/about']\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (pathsWithoutChecks.includes(to.path)) {\n return next()\n }\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n }\n 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","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n CONFIRM_ACCOUNT = 'CONFIRM_ACCOUNT',\n CONFIRM_EMAIL = 'CONFIRM_EMAIL',\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 RESEND_ACCOUNT_CONFIRMATION_EMAIL = 'RESEND_ACCOUNT_CONFIRMATION_EMAIL',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n RESET_USER_SPORT_PREFERENCES = 'RESET_USER_SPORT_PREFERENCES',\n UPDATE_USER_ACCOUNT = 'UPDATE_USER_ACCOUNT',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n IS_SUCCESS = 'IS_SUCCESS',\n IS_REGISTRATION_SUCCESS = 'IS_REGISTRATION_SUCCESS',\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_IS_SUCCESS = 'UPDATE_USER_IS_SUCCESS',\n UPDATE_IS_REGISTRATION_SUCCESS = 'UPDATE_IS_REGISTRATION_SUCCESS',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_IS_SUCCESS = 'USERS_IS_SUCCESS',\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 UPDATE_IS_SUCCESS = 'UPDATE_IS_SUCCESS',\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","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n const data: Record = {}\n if (payload.admin !== undefined) {\n data.admin = payload.admin\n }\n if (payload.resetPassword) {\n data.reset_password = payload.resetPassword\n }\n if (payload.activate) {\n data.activate = payload.activate\n }\n if (payload.new_email !== undefined) {\n data.new_email = payload.new_email\n }\n authApi\n .patch(`users/${payload.username}`, data)\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 if (payload.resetPassword || payload.new_email) {\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n }\n if (payload.activate || payload.new_email) {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserAccountPayload,\n IUserDeletionPayload,\n IUserAccountUpdatePayload,\n IUserEmailPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/confirm', { token: payload.token })\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(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_EMAIL](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n api\n .post('/auth/email/update', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n if (payload.refreshUser) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => {\n return router.push('/profile/edit/account')\n })\n }\n router.push('/profile/edit/account')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\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 context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n if (data.actionType === 'login') {\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 router\n .push('/login')\n .then(() =>\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n true\n )\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_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n authApi\n .patch('auth/profile/edit/account', 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(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\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.RESET_USER_SPORT_PREFERENCES](\n context: ActionContext,\n sportId: number\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/profile/reset/sports/${sportId}`)\n .then((res) => {\n if (res.status === 204) {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserEmailPayload\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.RESEND_ACCOUNT_CONFIRMATION_EMAIL](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/resend-confirmation', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/account-confirmation/email-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.IS_REGISTRATION_SUCCESS]: (\n state: IAuthUserState\n ) => {\n return state.isRegistrationSuccess\n },\n [AUTH_USER_STORE.GETTERS.IS_SUCCESS]: (state: IAuthUserState) => {\n return state.isSuccess\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 { IAuthUserProfile } 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: IAuthUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](\n state: IAuthUserState,\n isRegistrationSuccess: boolean\n ) {\n state.isRegistrationSuccess = isRegistrationSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IAuthUserState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\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 { IAuthUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n isSuccess: false,\n isRegistrationSuccess: false,\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_IS_SUCCESS]: (state: IUsersState) => {\n return state.isSuccess\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 [USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IUsersState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\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 isSuccess: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","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","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n if (typeof locationQuery.q === 'string') {\n query.q = locationQuery.q\n } else {\n delete query.q\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","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","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { 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","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { ISport, ITranslatedSport, TActiveStatus } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Snowshoes: '#5780a8',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n activeStatus: TActiveStatus = 'all',\n sportsToInclude: number[] = []\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n activeStatus === 'all'\n ? true\n : sportsToInclude.includes(sport.id) || sport[activeStatus]\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","import {\n addMonths,\n addWeeks,\n addYears,\n endOfMonth,\n endOfWeek,\n endOfYear,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n} from 'date-fns'\n\nimport { IChartDataset } from '@/types/chart'\nimport { ISport } from '@/types/sports'\nimport {\n IStatisticsChartData,\n IStatisticsDateParams,\n TStatisticsDatasetKeys,\n TStatisticsDatasets,\n TStatisticsFromApi,\n} from '@/types/statistics'\nimport { incrementDate, getStartDate } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/yyyy',\n },\n month: {\n api: 'yyyy-MM',\n chart: 'MM/yyyy',\n },\n year: {\n api: 'yyyy',\n chart: 'yyyy',\n },\n}\n\nexport const datasetKeys: TStatisticsDatasetKeys[] = [\n 'average_speed',\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n 'total_ascent',\n 'total_descent',\n]\n\nexport const getDateKeys = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean\n): Date[] => {\n const days = []\n for (\n let day = getStartDate(params.duration, params.start, weekStartingMonday);\n day <= params.end;\n day = incrementDate(params.duration, day)\n ) {\n days.push(day)\n }\n return days\n}\n\nconst getStatisticsChartDataset = (\n sportLabel: string,\n color: string,\n isLineChart = false\n): IChartDataset => {\n const dataset: IChartDataset = {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n if (isLineChart) {\n dataset.type = 'line'\n dataset.borderColor = [color]\n dataset.spanGaps = true\n }\n return dataset\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n average_speed: [],\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n total_ascent: [],\n total_descent: [],\n }\n displayedSports.map((sport) => {\n const color = sport.color ? sport.color : sportColors[sport.label]\n datasets.average_speed.push(\n getStatisticsChartDataset(sport.label, color, true)\n )\n datasets.nb_workouts.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_distance.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_duration.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_ascent.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_descent.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const convertStatsValue = (\n datasetKey: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean\n): number => {\n switch (datasetKey) {\n case 'average_speed':\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return convertStatsDistance(\n ['average_speed', 'total_distance'].includes(datasetKey) ? 'km' : 'm',\n value,\n useImperialUnits\n )\n default:\n case 'nb_workouts':\n case 'total_duration':\n return value\n }\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi,\n useImperialUnits: boolean\n): IStatisticsChartData => {\n const dayKeys = getDateKeys(params, weekStartingMonday)\n const dateFormat = dateFormats[params.duration]\n const displayedSports = sports.filter((sport) =>\n displayedSportsId.includes(sport.id)\n )\n const labels: string[] = []\n const datasets = getDatasets(displayedSports)\n const sportsId: Record = {}\n displayedSports.map(\n (displayedSport) => (sportsId[displayedSport.label] = displayedSport.id)\n )\n\n dayKeys.map((key) => {\n const date: string = format(key, dateFormat.api)\n const label: string = format(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n sportsId[dataset.label] in apiStats[date]\n ? convertStatsValue(\n datasetKey,\n apiStats[date][sportsId[dataset.label]][datasetKey],\n useImperialUnits\n )\n : datasetKey === 'average_speed'\n ? null\n : 0\n )\n })\n })\n })\n return {\n labels,\n datasets,\n }\n}\n\nexport const getStatsDateParams = (\n date: Date,\n timeFrame: string,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const weekStartsOn = weekStartingMonday ? 1 : 0\n const start =\n timeFrame === 'year'\n ? startOfYear(subYears(date, 9))\n : timeFrame === 'week'\n ? startOfWeek(subMonths(date, 2), { weekStartsOn })\n : startOfMonth(subMonths(date, 11)) // month\n const end =\n timeFrame === 'year'\n ? endOfYear(date)\n : timeFrame === 'week'\n ? endOfWeek(date, { weekStartsOn })\n : endOfMonth(date) // month\n return {\n duration: timeFrame,\n end,\n start,\n }\n}\n\nexport const updateChartParams = (\n chartParams: IStatisticsDateParams,\n backward: boolean,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const { duration, start, end } = chartParams\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n duration,\n end:\n duration === 'year'\n ? endOfYear(backward ? subYears(end, 1) : addYears(end, 1))\n : duration === 'week'\n ? endOfWeek(backward ? subWeeks(end, 1) : addWeeks(end, 1), {\n weekStartsOn,\n })\n : endOfMonth(backward ? subMonths(end, 1) : addMonths(end, 1)),\n start:\n duration === 'year'\n ? startOfYear(backward ? subYears(start, 1) : addYears(start, 1))\n : duration === 'week'\n ? startOfWeek(backward ? subWeeks(start, 1) : addWeeks(start, 1), {\n weekStartsOn,\n })\n : startOfMonth(backward ? subMonths(start, 1) : addMonths(start, 1)),\n }\n}\n","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\nimport { convertStatsDistance } from '@/utils/units'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction,\n useImperialUnits: boolean\n): IWorkoutChartData => {\n const datasets: TWorkoutDatasets = {\n speed: {\n label: t('workouts.SPEED'),\n backgroundColor: ['#FFFFFF'],\n borderColor: ['#8884d8'],\n borderWidth: 2,\n data: [],\n yAxisID: 'ySpeed',\n },\n elevation: {\n label: t('workouts.ELEVATION'),\n backgroundColor: ['#e5e5e5'],\n borderColor: ['#cccccc'],\n borderWidth: 1,\n fill: true,\n data: [],\n yAxisID: 'yElevation',\n },\n }\n const distance_labels: unknown[] = []\n const duration_labels: unknown[] = []\n const coordinates: TCoordinates[] = []\n\n chartData.map((data) => {\n distance_labels.push(data.distance)\n duration_labels.push(data.duration)\n datasets.speed.data.push(\n convertStatsDistance('km', data.speed, useImperialUnits)\n )\n datasets.elevation.data.push(\n convertStatsDistance('m', data.elevation, useImperialUnits)\n )\n coordinates.push({ latitude: data.latitude, longitude: data.longitude })\n })\n\n return { distance_labels, duration_labels, datasets, coordinates }\n}\n\nexport const getDonutDatasets = (\n workouts: IWorkout[]\n): Record> => {\n const total = workouts.length\n if (total === 0) {\n return {}\n }\n\n const datasets: Record> = {}\n workouts.map((workout) => {\n if (!datasets[workout.sport_id]) {\n datasets[workout.sport_id] = {\n count: 0,\n percentage: 0,\n }\n }\n datasets[workout.sport_id].count += 1\n datasets[workout.sport_id].percentage =\n datasets[workout.sport_id].count / total\n })\n\n return datasets\n}\n\nexport const defaultOrder = {\n order: 'desc',\n order_by: 'workout_date',\n}\n","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=ad374c24\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=ad374c24&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-72463173\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=72463173&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-72463173\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ErrorImg.vue?vue&type=template&id=e620aed4\"\nimport script from \"./ErrorImg.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorImg.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b60bfa80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"error\" }\nconst _hoisted_2 = { class: \"error-content\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n title: string\n message: string\n buttonText: string\n path?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n buttonText: null,\n path: { default: '/' }\n },\n setup(__props: any) {\n\nconst props = __props as { title: string, message: string, buttonText: string, path: string }\n\n \n const { buttonText, title, message, path } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_unref(title)), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_unref(message)), 1),\n (_unref(buttonText))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push(_unref(path)))),\n class: \"upper\"\n }, _toDisplayString(_unref(buttonText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=b60bfa80&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b60bfa80\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { toRefs, withDefaults } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n interface Props {\n target?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n target: { default: 'PAGE' }\n },\n setup(__props: any) {\n\nconst props = __props as { target: string }\n\n \n const { target } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(Error, {\n title: \"404\",\n message: _ctx.$t(`error.NOT_FOUND.${_unref(target)}`),\n \"button-text\": _ctx.$t('common.HOME')\n }, null, 8, [\"message\", \"button-text\"]))\n}\n}\n\n})","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f38ea1b8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(\n page: number,\n cursor?: number\n ): TWorkoutsPayload | TPaginationPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')) + \" \", 1),\n _hoisted_3\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=f38ea1b8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f38ea1b8\"]])\n\nexport default __exports__","import { zxcvbnOptions } from '@zxcvbn-ts/core'\n\nexport const setZxcvbnOptions = async (language: string) => {\n const zxcvbnCommonPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-common'\n )\n const zxcvbnEnPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-en'\n )\n const zxcvbnFrPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-fr'\n )\n const zxcvbnLangPackages: Record = {\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\n }\n const zxcvbnPackage = zxcvbnLangPackages[language]\n const options = {\n graphs: zxcvbnCommonPackage.default.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommonPackage.default.dictionary,\n ...zxcvbnPackage.default.dictionary,\n },\n }\n zxcvbnOptions.setOptions(options)\n}\n\nexport const getPasswordStrength = (strength: number): string => {\n switch (strength) {\n case 2:\n return 'AVERAGE'\n case 3:\n return 'GOOD'\n case 4:\n return 'STRONG'\n default:\n return 'WEAK'\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-79c9693d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-strength\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"password-strength-details\"\n}\nconst _hoisted_4 = { class: \"password-strength-value\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"info-box\"\n}\nconst _hoisted_6 = { class: \"password-feedback\" }\n\nimport { zxcvbn } from '@zxcvbn-ts/core'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n onBeforeMount,\n toRefs,\n watch,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n import { getPasswordStrength, setZxcvbnOptions } from '@/utils/password'\n\n interface Props {\n password: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n password: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n password: string\n }\n\n \n const { password } = toRefs(props)\n\n const store = useStore()\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const passwordScore: Ref = ref(0)\n const passwordStrength: Ref = ref('')\n const passwordSuggestions: Ref = ref([])\n const backgroundSize = ref('0% 100%')\n\n onBeforeMount(async () => await setZxcvbnOptions(language.value))\n\n function calculatePasswordStrength(password: string) {\n let zxcvbnResult = zxcvbn(password)\n passwordScore.value = zxcvbnResult.score\n passwordStrength.value = getPasswordStrength(passwordScore.value)\n passwordSuggestions.value = zxcvbnResult.feedback.suggestions\n backgroundSize.value = (passwordScore.value * 100) / 4 + '% 100%'\n }\n\n watch(\n () => language.value,\n async (newLanguageValue) => {\n await setZxcvbnOptions(newLanguageValue)\n }\n )\n watch(\n () => password.value,\n async (newPassword) => {\n if (isSuccess.value) {\n passwordStrength.value = ''\n } else {\n calculatePasswordStrength(newPassword)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: _normalizeClass([\"password-slider\", `strength-${passwordScore.value}`]),\n style: _normalizeStyle({ backgroundSize: backgroundSize.value }),\n type: \"range\",\n value: passwordScore.value,\n min: \"0\",\n max: \"4\",\n step: \"1\"\n }, null, 14, _hoisted_2),\n (passwordStrength.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('user.PASSWORD_STRENGTH.LABEL')) + \": \" + _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.${passwordStrength.value}`)), 1),\n (passwordSuggestions.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(passwordSuggestions.value, (suggestion) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: suggestion }, _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${suggestion}`)), 1))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordStength.vue?vue&type=style&index=0&id=79c9693d&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-79c9693d\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, vModelDynamic as _vModelDynamic, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5a126514\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-input\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\", \"required\", \"type\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"form-info\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import PasswordStrength from '@/components/Common/PasswordStength.vue'\n\n interface Props {\n checkStrength?: boolean\n disabled?: boolean\n id?: string\n password?: string\n placeholder?: string\n required?: boolean\n }\n\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n checkStrength: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n id: { default: 'password' },\n password: { default: '' },\n placeholder: null,\n required: { type: Boolean, default: false }\n },\n emits: ['updatePassword', 'passwordError'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { checkStrength: boolean, disabled: boolean, id: string, password: string, placeholder?: string, required: boolean }\n\n \n const { checkStrength, disabled, id, password, placeholder, required } =\n toRefs(props)\n\n const showPassword: Ref = ref(false)\n const passwordValue: Ref = ref('')\n\n \n\n function togglePassword() {\n showPassword.value = !showPassword.value\n }\n function updatePassword(event: Event & { target: HTMLInputElement }) {\n emit('updatePassword', event.target.value)\n }\n function invalidPassword() {\n emit('passwordError')\n }\n\n watch(\n () => password.value,\n (newPassword) => {\n if (newPassword === '') {\n passwordValue.value = ''\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n id: _unref(id),\n disabled: _unref(disabled),\n placeholder: _unref(placeholder),\n required: _unref(required),\n type: showPassword.value ? 'text' : 'password',\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((passwordValue).value = $event)),\n minlength: \"8\",\n onInput: updatePassword,\n onInvalid: invalidPassword\n }, null, 40, _hoisted_2), [\n [_vModelDynamic, passwordValue.value]\n ]),\n _createElementVNode(\"div\", {\n class: \"show-password\",\n onClick: togglePassword\n }, [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.${showPassword.value ? 'HIDE' : 'SHOW'}_PASSWORD`)) + \" \", 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-eye${showPassword.value ? '-slash' : ''}`]),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n (_unref(checkStrength))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.PASSWORD_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(checkStrength))\n ? (_openBlock(), _createBlock(PasswordStrength, {\n key: 1,\n password: passwordValue.value\n }, null, 8, [\"password\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordInput.vue?vue&type=style&index=0&id=5a126514&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5a126514\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"map-attribution\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"map-attribution-text\" }, \"©\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"map-attribution-text\",\n href: \"https://www.openstreetmap.org/copyright\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, \" OpenStreetMap \")\n], -1)\n\nimport { toRefs, withDefaults } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workout: IWorkout\n displayHover?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workout: null,\n displayHover: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { workout: IWorkout, displayHover: boolean }\n\n \n const { displayHover } = toRefs(props)\n const imageUrl = `${getApiUrl()}workouts/map/${props.workout.map}`\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"static-map\", { 'display-hover': _unref(displayHover) }])\n }, [\n (_unref(displayHover))\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: imageUrl,\n alt: \"\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"bg-map-image\",\n style: _normalizeStyle({\n backgroundImage: `url(${imageUrl})`,\n })\n }, null, 4)),\n _hoisted_1\n ], 2))\n}\n}\n\n})","import script from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=6b7e4baf&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-68a6a495\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"start-chart\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { class: \"chart-radio\" }\nconst _hoisted_5 = [\"checked\"]\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = [\"checked\"]\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = [\"checked\"]\nconst _hoisted_12 = { key: 2 }\nconst _hoisted_13 = [\"checked\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Chart = _resolveComponent(\"Chart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.hideChartIfNoData && _ctx.emptyStats)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.NO_WORKOUTS')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_distance\",\n checked: _ctx.displayedData === 'total_distance',\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_5),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_duration\",\n checked: _ctx.displayedData === 'total_duration',\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_6),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"nb_workouts\",\n checked: _ctx.displayedData === 'nb_workouts',\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_7),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', 2)), 1)\n ]),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_8, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"average_speed\",\n checked: _ctx.displayedData === 'average_speed',\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_10, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_ascent\",\n checked: _ctx.displayedData === 'total_ascent',\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_11),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.ASCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_12, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_descent\",\n checked: _ctx.displayedData === 'total_descent',\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_13),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DESCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.labels.length > 0)\n ? (_openBlock(), _createBlock(_component_Chart, {\n key: 0,\n datasets: _ctx.datasets,\n labels: _ctx.labels,\n displayedData: _ctx.displayedData,\n displayedSportIds: _ctx.displayedSportIds,\n fullStats: _ctx.fullStats,\n useImperialUnits: _ctx.user.imperial_units\n }, null, 8, [\"datasets\", \"labels\", \"displayedData\", \"displayedSportIds\", \"fullStats\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}","import { resolveComponent as _resolveComponent, mergeProps as _mergeProps, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"chart\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BarChart = _resolveComponent(\"BarChart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_BarChart, _mergeProps(_ctx.barChartProps, { class: \"bar-chart\" }), null, 16)\n ]))\n}","export const formatDuration = (\n totalSeconds: number,\n formatWithUnits = false\n): string => {\n let days = '0'\n if (formatWithUnits) {\n days = String(Math.floor(totalSeconds / 86400))\n totalSeconds %= 86400\n }\n const hours = String(Math.floor(totalSeconds / 3600)).padStart(2, '0')\n totalSeconds %= 3600\n const minutes = String(Math.floor(totalSeconds / 60)).padStart(2, '0')\n const seconds = String(totalSeconds % 60).padStart(2, '0')\n if (formatWithUnits) {\n return `${days === '0' ? '' : `${days}d `}${\n hours === '00' ? '' : `${hours}h `\n }${minutes}m ${seconds}s`\n }\n return `${hours === '00' ? '' : `${hours}:`}${minutes}:${seconds}`\n}\n","import { TStatisticsDatasetKeys } from '@/types/statistics'\nimport { formatDuration } from '@/utils/duration'\nimport { units } from '@/utils/units'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean,\n formatWithUnits = true\n): string => {\n const unitFrom = 'km'\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n switch (displayedData) {\n case 'average_speed':\n return `${value.toFixed(2)} ${unitTo}/h`\n case 'total_duration':\n return formatDuration(value, formatWithUnits)\n case 'total_distance':\n return `${value.toFixed(2)} ${unitTo}`\n case 'total_ascent':\n case 'total_descent':\n return `${(value / 1000).toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","\n import { ChartData, ChartOptions, LayoutItem } from 'chart.js'\n import { ComputedRef, PropType, computed, defineComponent } from 'vue'\n import { BarChart, useBarChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IChartDataset } from '@/types/chart'\n import { TStatisticsDatasetKeys } from '@/types/statistics'\n import { formatTooltipValue } from '@/utils/tooltip'\n\n export default defineComponent({\n name: 'Chart',\n components: {\n BarChart,\n },\n props: {\n datasets: {\n type: Object as PropType,\n required: true,\n },\n labels: {\n type: Object as PropType,\n required: true,\n },\n displayedData: {\n type: String as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n required: true,\n },\n fullStats: {\n type: Boolean,\n required: true,\n },\n useImperialUnits: {\n type: Boolean,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getNumber(value: any): number {\n return isNaN(value) ? 0 : +value\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getSum(total: any, value: any): number {\n return getNumber(total) + getNumber(value)\n }\n let chartData: ComputedRef> = computed(() => ({\n labels: props.labels,\n // workaround to avoid dataset modification\n datasets: JSON.parse(JSON.stringify(props.datasets)),\n }))\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: props.fullStats ? 40 : 22,\n },\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n },\n y: {\n stacked: props.displayedData !== 'average_speed',\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(\n props.displayedData,\n +value,\n props.useImperialUnits,\n false\n )\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 75 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n color: function (context) {\n return props.displayedData === 'average_speed' &&\n context.dataset.backgroundColor\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n context.dataset.backgroundColor[0]\n : '#666666'\n },\n rotation: function (context) {\n return props.fullStats && context.chart.chartArea.width < 580\n ? 310\n : 0\n },\n display: function (context) {\n return props.fullStats && context.chart.chartArea.width < 300\n ? false\n : props.displayedData === 'average_speed'\n ? props.displayedSportIds.length == 1\n ? 'auto'\n : false\n : true\n },\n formatter: function (value, context) {\n if (props.displayedData === 'average_speed') {\n return formatTooltipValue(\n props.displayedData,\n value,\n props.useImperialUnits,\n false\n )\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const total: number = context.chart.data.datasets\n .map((d) => d.data[context.dataIndex])\n .reduce((total, value) => getSum(total, value), 0)\n return context.datasetIndex ===\n props.displayedSportIds.length - 1 && total > 0\n ? formatTooltipValue(\n props.displayedData,\n total,\n props.useImperialUnits,\n false\n )\n : null\n }\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n position:\n props.displayedData === 'average_speed' ? 'nearest' : 'average',\n },\n filter: function (tooltipItem) {\n return tooltipItem.formattedValue !== '0'\n },\n callbacks: {\n label: function (context) {\n let label = t(`sports.${context.dataset.label}.LABEL`) || ''\n if (label) {\n label += ': '\n }\n if (context.parsed.y !== null) {\n label += formatTooltipValue(\n props.displayedData,\n context.parsed.y,\n props.useImperialUnits\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n if (props.displayedData === 'average_speed') {\n return ''\n }\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('common.TOTAL')}: ` +\n formatTooltipValue(\n props.displayedData,\n sum,\n props.useImperialUnits\n )\n )\n },\n },\n },\n },\n }))\n const { barChartProps } = useBarChart({\n chartData,\n options,\n })\n return { barChartProps }\n },\n })\n","import { render } from \"./Chart.vue?vue&type=template&id=7eb1257c&ts=true\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n onBeforeMount,\n } from 'vue'\n\n import Chart from '@/components/Common/StatsChart/Chart.vue'\n import { STATS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import {\n IStatisticsChartData,\n TStatisticsDatasetKeys,\n IStatisticsDateParams,\n TStatisticsFromApi,\n IStatisticsParams,\n } from '@/types/statistics'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatStats } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n Chart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n chartParams: {\n type: Object as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n fullStats: {\n type: Boolean,\n default: false,\n },\n hideChartIfNoData: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n let displayedData: Ref = ref('total_distance')\n const statistics: ComputedRef = computed(\n () => store.getters[STATS_STORE.GETTERS.USER_STATS]\n )\n const formattedStats: ComputedRef = computed(() =>\n formatStats(\n props.chartParams,\n props.user.weekm,\n props.sports,\n props.displayedSportIds,\n statistics.value,\n props.user.imperial_units\n )\n )\n\n onBeforeMount(() =>\n getStatistics(getApiParams(props.chartParams, props.user))\n )\n\n function getStatistics(apiParams: IStatisticsParams) {\n store.dispatch(STATS_STORE.ACTIONS.GET_USER_STATS, {\n username: props.user.username,\n filterType: 'by_time',\n params: apiParams,\n })\n }\n function updateDisplayData(\n event: Event & {\n target: HTMLInputElement & { name: TStatisticsDatasetKeys }\n }\n ) {\n displayedData.value = event.target.name\n }\n function getApiParams(\n chartParams: IStatisticsDateParams,\n user: IAuthUserProfile\n ): IStatisticsParams {\n return {\n from: format(chartParams.start, 'yyyy-MM-dd'),\n to: format(chartParams.end, 'yyyy-MM-dd'),\n time:\n chartParams.duration === 'week'\n ? `week${user.weekm ? 'm' : ''}`\n : chartParams.duration,\n }\n }\n\n watch(\n () => props.chartParams,\n async (newParams) => {\n getStatistics(getApiParams(newParams, props.user))\n }\n )\n\n return {\n datasets: computed(\n () => formattedStats.value.datasets[displayedData.value]\n ),\n labels: computed(() => formattedStats.value.labels),\n emptyStats: computed(() => Object.keys(statistics.value).length === 0),\n displayedData,\n updateDisplayData,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=68a6a495&scoped=true&ts=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=68a6a495&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-68a6a495\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20291951\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { computed, ComputedRef, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(authUser).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=20291951&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20291951\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8f7f2d5c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = {\n key: 4,\n class: \"email-form form-box\"\n}\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = { class: \"form-buttons\" }\nconst _hoisted_7 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { key: 5 }\nconst _hoisted_10 = { class: \"user-bio\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n withDefaults,\n watch,\n onUnmounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n fromAdmin: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n const isSuccess = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_IS_SUCCESS]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref('')\n const formErrors = ref(false)\n const displayUserEmailForm: Ref = ref(false)\n const newUserEmail: Ref = ref('')\n const currentAction: Ref = ref('')\n\n function updateDisplayModal(value: string) {\n displayModal.value = value\n if (value !== '') {\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n }\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n function resetUserPassword(username: string) {\n currentAction.value = 'password-reset'\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n resetPassword: true,\n })\n }\n function confirmUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n activate: true,\n })\n }\n function displayEmailForm() {\n resetErrorsAndSuccess()\n newUserEmail.value = user.value.email_to_confirm\n ? user.value.email_to_confirm\n : ''\n displayUserEmailForm.value = true\n currentAction.value = 'email-update'\n }\n function hideEmailForm() {\n newUserEmail.value = ''\n displayUserEmailForm.value = false\n }\n function updateUserEmail(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n new_email: newUserEmail.value,\n })\n }\n function resetErrorsAndSuccess() {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n currentAction.value = ''\n }\n\n onUnmounted(() => resetErrorsAndSuccess())\n\n watch(\n () => isSuccess.value,\n (newIsSuccess) => {\n if (newIsSuccess) {\n updateDisplayModal('')\n hideEmailForm()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \n _unref(displayModal) === 'delete'\n ? 'admin.CONFIRM_USER_ACCOUNT_DELETION'\n : 'admin.CONFIRM_USER_PASSWORD_RESET'\n ,\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(displayModal) === 'delete'\n ? deleteUserAccount(_unref(user).username)\n : resetUserPassword(_unref(user).username)\n )),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal('')))\n }, null, 8, [\"title\", \"message\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `admin.${\n currentAction.value === 'password-reset'\n ? 'PASSWORD_RESET'\n : 'USER_EMAIL_UPDATE'\n }_SUCCESSFUL`\n )), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 2,\n message: \"user.THIS_USER_ACCOUNT_IS_INACTIVE\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 3,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (displayUserEmailForm.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateUserEmail(_unref(user).username)), [\"prevent\"]))\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.CURRENT_EMAIL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(user).email) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _unref(user).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.NEW_EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"new-email\",\n type: \"email\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((newUserEmail).value = $event))\n }, null, 512), [\n [_vModelText, newUserEmail.value]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", _hoisted_7, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(hideEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_8)\n ])\n ], 34)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_10, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (updateDisplayModal('delete')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (confirmUserAccount(_unref(user).username)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.ACTIVATE_USER_ACCOUNT')), 1))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n onClick: _withModifiers(displayEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('admin.UPDATE_USER_EMAIL')), 9, _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 3,\n onClick: _cache[7] || (_cache[7] = _withModifiers(($event: any) => (updateDisplayModal('reset')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.RESET_USER_PASSWORD')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=8f7f2d5c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8f7f2d5c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21d76483\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-form\" }\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = [\"disabled\", \"placeholder\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"form-info\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\"disabled\", \"placeholder\"]\nconst _hoisted_8 = {\n key: 3,\n class: \"form-info\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = { key: 2 }\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\" - \")\nconst _hoisted_13 = { key: 3 }\nconst _hoisted_14 = { class: \"account\" }\nconst _hoisted_15 = { key: 4 }\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n action: string\n token?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n action: null,\n token: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { action: string, token: string }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { action } = toRefs(props)\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\n })\n const buttonText: ComputedRef = computed(() =>\n getButtonText(props.action)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const isRegistrationSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' && !appConfig.value.is_registration_enabled\n )\n const formErrors = ref(false)\n\n function getButtonText(action: string): string {\n switch (action) {\n case 'reset-request':\n case 'reset':\n return 'buttons.SUBMIT'\n default:\n return `buttons.${props.action.toUpperCase()}`\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n function updatePassword(password: string) {\n formData.password = password\n }\n function onSubmit(actionType: string) {\n switch (actionType) {\n case 'reset':\n if (!props.token) {\n return store.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n 'user.INVALID_TOKEN'\n )\n }\n return store.dispatch(AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n case 'account-confirmation-resend':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,\n {\n email: formData.email,\n }\n )\n default:\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n redirectUrl: route.query.from,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n }\n\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n formErrors.value = false\n resetFormData()\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"user-auth-form\",\n class: _normalizeClass(`${\n ['reset', 'reset-request'].includes(_unref(action)) ? _unref(action) : 'user-form'\n }`)\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"form-box\", {\n disabled: _unref(registration_disabled),\n }])\n }, [\n (_unref(registration_disabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 0,\n message: \"user.REGISTER_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess) || _unref(isRegistrationSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n _unref(isRegistrationSuccess) ? 'REGISTRATION' : 'UPDATE'\n }`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (onSubmit(_unref(action))), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(action) === 'register')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n id: \"username\",\n disabled: _unref(registration_disabled),\n required: \"\",\n pattern: \"[a-zA-Z0-9_]+\",\n minlength: \"3\",\n maxlength: \"30\",\n onInvalid: invalidateForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(formData).username) = $event)),\n placeholder: _ctx.$t('user.USERNAME')\n }, null, 40, _hoisted_4)), [\n [_vModelText, _unref(formData).username]\n ])\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.USERNAME_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) !== 'reset')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 2,\n id: \"email\",\n disabled: _unref(registration_disabled),\n required: \"\",\n onInvalid: invalidateForm,\n type: \"email\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(formData).email) = $event)),\n placeholder: _ctx.$t('user.EMAIL')\n }, null, 40, _hoisted_7)), [\n [_vModelText, _unref(formData).email]\n ])\n : _createCommentVNode(\"\", true),\n (\n [\n 'reset-request',\n 'register',\n 'account-confirmation-resend',\n ].includes(_unref(action))\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.EMAIL_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (\n !['account-confirmation-resend', 'reset-request'].includes(\n _unref(action)\n )\n )\n ? (_openBlock(), _createBlock(PasswordInput, {\n key: 4,\n disabled: _unref(registration_disabled),\n required: true,\n placeholder: \n _unref(action) === 'reset'\n ? _ctx.$t('user.ENTER_PASSWORD')\n : _ctx.$t('user.PASSWORD')\n ,\n password: _unref(formData).password,\n checkStrength: ['reset', 'register'].includes(_unref(action)),\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"placeholder\", \"password\", \"checkStrength\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: _unref(registration_disabled)\n }, _toDisplayString(_ctx.$t(_unref(buttonText))), 9, _hoisted_10)\n ], 34),\n (_unref(action) === 'login')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/register\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n }),\n _hoisted_12,\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/password-reset/request\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_FORGOTTEN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ALREADY_HAVE_ACCOUNT')), 1),\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/login\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (['login', 'register'].includes(_unref(action)))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/account-confirmation/resend\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.ACCOUNT_CONFIRMATION_NOT_RECEIVED')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 5,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ], 2))\n}\n}\n\n})","import script from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=21d76483&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-21d76483\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture?${Date.now()}`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=26bea286&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=4b4d15fb&scoped=true\"\nconst script = {}\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=4b4d15fb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b4d15fb\"]])\n\nexport default __exports__","var map = {\n\t\"./en/en.ts\": 9350,\n\t\"./fr/fr.ts\": 1079\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 = 4612;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\",\"881\":\"password\"}[chunkId] || chunkId) + \".\" + {\"24\":\"04930981\",\"93\":\"6f43c046\",\"193\":\"5b24903f\",\"243\":\"1c009238\",\"328\":\"5ec56937\",\"401\":\"964c0bc7\",\"431\":\"2dd6d03a\",\"633\":\"05b59575\",\"845\":\"38438c89\",\"858\":\"3eeaffeb\",\"881\":\"23cdd304\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\"}[chunkId] + \".\" + {\"24\":\"e2527ec6\",\"193\":\"91fe968e\",\"328\":\"73df498d\",\"401\":\"66f98dac\",\"845\":\"203e78e2\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"fittrackee_client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"24\":1,\"193\":1,\"328\":1,\"401\":1,\"845\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfittrackee_client\"] = self[\"webpackChunkfittrackee_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(811); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","locale","default","createI18n","legacy","fallbackLocale","globalInjection","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","about","AboutTranslations","admin","AdministrationTranslations","api","ApiTranslations","buttons","ButtonsTranslations","common","CommonTranslations","dashboard","DashboardTranslations","ErrorTranslations","sports","SportsTranslations","statistics","StatisticsTranslations","user","UserTranslations","workouts","WorkoutsTranslations","register","ready","console","log","registered","cached","updatefound","updated","offline","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","_hoisted_2","class","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","href","target","rel","_defineComponent","props","version","adminContact","setup","__props","toRefs","_ctx","_cache","_component_router_link","_resolveComponent","_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","_createVNode","to","_withCtx","$t","_","_createCommentVNode","__exports__","emits","emit","useI18n","useStore","authUser","computed","getters","isAuthenticated","language","ROOT_STORE","isMenuOpen","ref","openMenu","value","closeMenu","updateLanguage","option","toString","commit","logout","dispatch","_component_Dropdown","onClick","$event","$router","push","_normalizeClass","capitalize","_createBlock","UserPicture","username","availableLanguages","options","selected","onSelected","ErrorImg","innerHTML","appConfig","appLoading","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","window","innerHeight","bottom","scroll","onscroll","document","querySelector","scrollToTop","scrollTo","behavior","setTimeout","onBeforeMount","onMounted","_component_Loader","_component_router_view","_Fragment","NavBar","onMenuInteraction","NoConfig","Footer","admin_contact","message","name","charLimit","disabled","type","Boolean","input","text","updateText","event","watch","_withDirectives","maxLenght","_isRef","onInput","_vModelText","distance","unitFrom","useImperialUnits","digits","displayUnit","speed","strong","unitTo","units","defaultTarget","convertedDistance","convertDistance","parseFloat","toFixed","route","useRoute","isOpen","dropdownOptions","map","toggleDropdown","updateSelected","path","_renderSlot","$slots","_renderList","index","label","Array","isArray","subMessage","xmlns","x","y","viewBox","style","d","render","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","Hiking","MountainBiking","MountainBikingElectric","Rowing","Running","SkiingAlpine","SkiingCrossCountry","Snowshoes","Trail","Walking","script","strongMessage","errorMessages","onUnmounted","_component_i18n_t","_component_ErrorMessage","_component_Card","content","keypath","customComponents","AlertMessage","Card","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","undefined","Chart","BarElement","LineElement","PointElement","Legend","Title","Tooltip","Filler","BarController","CategoryScale","LineController","LinearScale","ChartDataLabels","app","createApp","App","provide","i18n","router","VueFullscreen","directive","component","mount","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","getFileSizeInMB","onCancel","onSubmit","formData","assign","_withModifiers","min","step","icon","appStatistics","uploadDirSize","getReadableFileSize","uploads_dir_size","StatCard","users","size","suffix","AppStatsCards","is_registration_enabled","t","translatedSports","translateSports","SPORTS_STORE","updateSportStatus","isActive","_component_SportImage","sport","translatedLabel","is_active","danger","has_workouts","query","q","searchUsers","resetFilter","onKeyup","_withKeys","placeholder","trim","orderByList","defaultOrderBy","getQuery","USERS_STORE","pagination","loadUsers","queryParams","reloadUsers","updateUser","queryParam","queryValue","page","newQuery","UsersNameFilter","onFilterOnUsername","FilterSelects","sort","sortList","order_by","onUpdateSelect","email","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","async","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","Date","updateBio","_component_CustomTextArea","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","updatePictureFile","files","updateUserPicture","picture","accept","timeZones","tzList","focusItemIndex","matchTimezone","toLowerCase","onMouseOver","onUpdateTimezone","onEnter","preventDefault","firstElementChild","openDropdown","onKeydown","ref_key","filter","tz","focus","onMouseover","autofocus","weekStart","imperialUnits","updateTZ","lang","_vModelSelect","TimezoneDropdown","start","unit","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","onChange","e","src","alt","BikePic","About","workout","_component_Distance","params","workoutId","workout_date","formatDistance","addSuffix","with_gpx","StaticMap","moving","min_alt","max_alt","ascent","descent","per_page","initWorkoutsCount","loadWorkouts","WORKOUTS_STORE","moreWorkoutsExist","previous_workout","defaultOrder","loadMoreWorkouts","WorkoutCard","s","NoWorkouts","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","data","stroke","transform","isHidden","togglePane","stopPropagation","_directive_click_outside","_resolveDirective","DonutChart","CalendarWorkout","getSportLabel","getSportColor","chartDatasets","getDonutDatasets","sportIdColors","displayedWorkoutCount","slice","CalendarWorkoutsChart","currentDay","endDate","startDate","weekStartingMonday","rows","getDays","day","days","i","addDays","isWeekEnd","filterWorkouts","isSameDay","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","sportTranslatedLabel","workout_id","formatRecord","Error","formatWorkoutDate","getRecordsBySports","reduce","sportList","find","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","defaultUnitFrom","totalDistance","total_distance","split","nb_sports","isSelected","updateDisplayColumn","UserStatsCards","UserMonthStats","UserRecords","UserCalendar","Timeline","NotFound","action","LoginOrRegisterForm","getTabFromPath","regex","tag","replace","toUpperCase","routes","Dashboard","LoginOrRegister","children","Profile","UserInfos","UserPreferences","UserSportPreferences","ProfileEdition","UserInfosEdition","UserAccountEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","fromAdmin","AdminUsers","AboutView","NotFoundView","createRouter","history","createWebHistory","process","pathsWithoutAuthentication","pathsWithoutChecks","beforeEach","next","then","fullPath","catch","AuthUserActions","AuthUserGetters","AuthUserMutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","status","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","state","authUserProfile","isRegistrationSuccess","mutations","authUserState","application","localeFromLanguage","root","enUS","sportsState","filterType","statisticsState","updatedUser","usersState","getWorkouts","segmentUrl","segmentId","segments","chart_data","gpx","file","notes","calendar_workouts","timeline_workouts","user_workouts","workoutData","concat","chartData","workoutsState","modules","authUserModule","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPage","defaultPerPage","getNumberQueryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","response","m","en","fr","availableLocales","l","sortSports","a","b","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_ascent","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","dayKeys","labels","sportsId","displayedSport","getStatsDateParams","timeFrame","subYears","endOfYear","updateChartParams","backward","subWeeks","addWeeks","ft","system","multiplier","mi","km","factors","metric","imperial","borderWidth","yAxisID","elevation","distance_labels","duration_labels","coordinates","latitude","longitude","total","count","perPage","onSelectUpdate","nb","buttonText","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","zxcvbnLangPackages","zxcvbnPackage","graphs","adjacencyGraphs","dictionary","zxcvbnOptions","getPasswordStrength","strength","passwordScore","passwordStrength","passwordSuggestions","backgroundSize","calculatePasswordStrength","zxcvbnResult","zxcvbn","score","feedback","suggestions","newLanguageValue","newPassword","max","suggestion","showPassword","passwordValue","togglePassword","invalidPassword","minlength","_vModelDynamic","PasswordStrength","displayHover","imageUrl","backgroundImage","$props","$setup","$data","$options","_component_Chart","hideChartIfNoData","emptyStats","displayedData","args","updateDisplayData","fullStats","displayedSportIds","_component_BarChart","_mergeProps","barChartProps","formatDuration","totalSeconds","formatWithUnits","String","hours","padStart","minutes","seconds","formatTooltipValue","defineComponent","components","BarChart","getNumber","isNaN","getSum","JSON","parse","stringify","responsive","maintainAspectRatio","animation","layout","padding","scales","stacked","grid","drawOnChartArea","ticks","maxTicksLimit","callback","afterFit","scale","plugins","datalabels","anchor","align","chartArea","display","formatter","dataIndex","datasetIndex","legend","tooltip","interaction","intersect","mode","position","tooltipItem","formattedValue","callbacks","parsed","footer","tooltipItems","sum","useBarChart","formattedStats","getStatistics","getApiParams","time","newParams","birthDate","displayUserEmailForm","newUserEmail","currentAction","resetUserPassword","confirmUserAccount","displayEmailForm","resetErrorsAndSuccess","email_to_confirm","hideEmailForm","updateUserEmail","newIsSuccess","_component_AlertMessage","go","getButtonText","registration_disabled","resetFormData","pattern","maxlength","authUserPictureUrl","now","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","url","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","linkTag","onLinkComplete","errorType","realHref","err","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/chunk-vendors.c045258f.js b/fittrackee/dist/static/js/chunk-vendors.63e25135.js similarity index 93% rename from fittrackee/dist/static/js/chunk-vendors.c045258f.js rename to fittrackee/dist/static/js/chunk-vendors.63e25135.js index f2e35d98..256b9659 100644 --- a/fittrackee/dist/static/js/chunk-vendors.c045258f.js +++ b/fittrackee/dist/static/js/chunk-vendors.63e25135.js @@ -49,5 +49,5 @@ const o="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,s=t=>o? * (c) 2021 Evan You * @license MIT */ -var m="store";function b(t){return void 0===t&&(t=null),(0,r.f3)(null!==t?t:m)}function v(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function y(t){return null!==t&&"object"===typeof t}function x(t){return t&&"function"===typeof t.then}function _(t,e){return function(){return t(e)}}function w(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function k(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;S(t,n,[],t._modules.root,!0),M(t,n,e)}function M(t,e,n){var r=t._state;t.getters={},t._makeLocalGettersCache=Object.create(null);var o=t._wrappedGetters,s={};v(o,(function(e,n){s[n]=_(e,t),Object.defineProperty(t.getters,n,{get:function(){return s[n]()},enumerable:!0})})),t._state=(0,i.qj)({data:e}),t.strict&&E(t),r&&n&&t._withCommit((function(){r.data=null}))}function S(t,e,n,r,i){var o=!n.length,s=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[s],t._modulesNamespaceMap[s]=r),!o&&!i){var a=j(e,n.slice(0,-1)),c=n[n.length-1];t._withCommit((function(){a[c]=r.state}))}var l=r.context=O(t,s,n);r.forEachMutation((function(e,n){var r=s+n;P(t,r,e,l)})),r.forEachAction((function(e,n){var r=e.root?n:s+n,i=e.handler||e;T(t,r,i,l)})),r.forEachGetter((function(e,n){var r=s+n;D(t,r,e,l)})),r.forEachChild((function(r,o){S(t,e,n.concat(o),r,i)}))}function O(t,e,n){var r=""===e,i={dispatch:r?t.dispatch:function(n,r,i){var o=A(n,r,i),s=o.payload,a=o.options,c=o.type;return a&&a.root||(c=e+c),t.dispatch(c,s)},commit:r?t.commit:function(n,r,i){var o=A(n,r,i),s=o.payload,a=o.options,c=o.type;a&&a.root||(c=e+c),t.commit(c,s,a)}};return Object.defineProperties(i,{getters:{get:r?function(){return t.getters}:function(){return C(t,e)}},state:{get:function(){return j(t.state,n)}}}),i}function C(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(i){if(i.slice(0,r)===e){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return t.getters[i]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function P(t,e,n,r){var i=t._mutations[e]||(t._mutations[e]=[]);i.push((function(e){n.call(t,r.state,e)}))}function T(t,e,n,r){var i=t._actions[e]||(t._actions[e]=[]);i.push((function(e){var i=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return x(i)||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}function D(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function E(t){(0,r.YP)((function(){return t._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function j(t,e){return e.reduce((function(t,e){return t[e]}),t)}function A(t,e,n){return y(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}var L="vuex bindings",F="vuex:mutations",I="vuex:actions",R="vuex",N=0;function W(t,e){g({id:"org.vuejs.vuex",app:t,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[L]},(function(n){n.addTimelineLayer({id:F,label:"Vuex Mutations",color:z}),n.addTimelineLayer({id:I,label:"Vuex Actions",color:z}),n.addInspector({id:R,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===t&&n.inspectorId===R)if(n.filter){var r=[];Y(r,e._modules.root,n.filter,""),n.rootNodes=r}else n.rootNodes=[V(e._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===t&&n.inspectorId===R){var r=n.nodeId;C(e,r),n.state=Z(X(e._modules,r),"root"===r?e.getters:e._makeLocalGettersCache,r)}})),n.on.editInspectorState((function(n){if(n.app===t&&n.inspectorId===R){var r=n.nodeId,i=n.path;"root"!==r&&(i=r.split("/").filter(Boolean).concat(i)),e._withCommit((function(){n.set(e._state.data,i,n.state.value)}))}})),e.subscribe((function(t,e){var r={};t.payload&&(r.payload=t.payload),r.state=e,n.notifyComponentUpdate(),n.sendInspectorTree(R),n.sendInspectorState(R),n.addTimelineEvent({layerId:F,event:{time:Date.now(),title:t.type,data:r}})})),e.subscribeAction({before:function(t,e){var r={};t.payload&&(r.payload=t.payload),t._id=N++,t._time=Date.now(),r.state=e,n.addTimelineEvent({layerId:I,event:{time:t._time,title:t.type,groupId:t._id,subtitle:"start",data:r}})},after:function(t,e){var r={},i=Date.now()-t._time;r.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},t.payload&&(r.payload=t.payload),r.state=e,n.addTimelineEvent({layerId:I,event:{time:Date.now(),title:t.type,groupId:t._id,subtitle:"end",data:r}})}})}))}var z=8702998,U=6710886,H=16777215,B={label:"namespaced",textColor:H,backgroundColor:U};function $(t){return t&&"root"!==t?t.split("/").slice(-2,-1)[0]:"Root"}function V(t,e){return{id:e||"root",label:$(e),tags:t.namespaced?[B]:[],children:Object.keys(t._children).map((function(n){return V(t._children[n],e+n+"/")}))}}function Y(t,e,n,r){r.includes(n)&&t.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:e.namespaced?[B]:[]}),Object.keys(e._children).forEach((function(i){Y(t,e._children[i],n,r+i+"/")}))}function Z(t,e,n){e="root"===n?e:e[n];var r=Object.keys(e),i={state:Object.keys(t.state).map((function(e){return{key:e,editable:!0,value:t.state[e]}}))};if(r.length){var o=q(e);i.getters=Object.keys(o).map((function(t){return{key:t.endsWith("/")?$(t):t,editable:!1,value:G((function(){return o[t]}))}}))}return i}function q(t){var e={};return Object.keys(t).forEach((function(n){var r=n.split("/");if(r.length>1){var i=e,o=r.pop();r.forEach((function(t){i[t]||(i[t]={_custom:{value:{},display:t,tooltip:"Module",abstract:!0}}),i=i[t]._custom.value})),i[o]=G((function(){return t[n]}))}else e[n]=G((function(){return t[n]}))})),e}function X(t,e){var n=e.split("/").filter((function(t){return t}));return n.reduce((function(t,r,i){var o=t[r];if(!o)throw new Error('Missing module "'+r+'" for path "'+e+'".');return i===n.length-1?o:o._children}),"root"===e?t:t.root._children)}function G(t){try{return t()}catch(e){return e}}var J=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},K={namespaced:{configurable:!0}};K.namespaced.get=function(){return!!this._rawModule.namespaced},J.prototype.addChild=function(t,e){this._children[t]=e},J.prototype.removeChild=function(t){delete this._children[t]},J.prototype.getChild=function(t){return this._children[t]},J.prototype.hasChild=function(t){return t in this._children},J.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},J.prototype.forEachChild=function(t){v(this._children,t)},J.prototype.forEachGetter=function(t){this._rawModule.getters&&v(this._rawModule.getters,t)},J.prototype.forEachAction=function(t){this._rawModule.actions&&v(this._rawModule.actions,t)},J.prototype.forEachMutation=function(t){this._rawModule.mutations&&v(this._rawModule.mutations,t)},Object.defineProperties(J.prototype,K);var Q=function(t){this.register([],t,!1)};function tt(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;tt(t.concat(r),e.getChild(r),n.modules[r])}}Q.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},Q.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},Q.prototype.update=function(t){tt([],this.root,t)},Q.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new J(e,n);if(0===t.length)this.root=i;else{var o=this.get(t.slice(0,-1));o.addChild(t[t.length-1],i)}e.modules&&v(e.modules,(function(e,i){r.register(t.concat(i),e,n)}))},Q.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},Q.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};function et(t){return new nt(t)}var nt=function(t){var e=this;void 0===t&&(t={});var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var i=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new Q(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._devtools=i;var o=this,s=this,a=s.dispatch,c=s.commit;this.dispatch=function(t,e){return a.call(o,t,e)},this.commit=function(t,e,n){return c.call(o,t,e,n)},this.strict=r;var l=this._modules.root.state;S(this,l,[],this._modules.root),M(this,l),n.forEach((function(t){return t(e)}))},rt={state:{configurable:!0}};nt.prototype.install=function(t,e){t.provide(e||m,this),t.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&W(t,this)},rt.state.get=function(){return this._state.data},rt.state.set=function(t){0},nt.prototype.commit=function(t,e,n){var r=this,i=A(t,e,n),o=i.type,s=i.payload,a=(i.options,{type:o,payload:s}),c=this._mutations[o];c&&(this._withCommit((function(){c.forEach((function(t){t(s)}))})),this._subscribers.slice().forEach((function(t){return t(a,r.state)})))},nt.prototype.dispatch=function(t,e){var n=this,r=A(t,e),i=r.type,o=r.payload,s={type:i,payload:o},a=this._actions[i];if(a){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(s,n.state)}))}catch(l){0}var c=a.length>1?Promise.all(a.map((function(t){return t(o)}))):a[0](o);return new Promise((function(t,e){c.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(s,n.state)}))}catch(l){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(s,n.state,t)}))}catch(l){0}e(t)}))}))}},nt.prototype.subscribe=function(t,e){return w(t,this._subscribers,e)},nt.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return w(n,this._actionSubscribers,e)},nt.prototype.watch=function(t,e,n){var i=this;return(0,r.YP)((function(){return t(i.state,i.getters)}),e,Object.assign({},n))},nt.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._state.data=t}))},nt.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),S(this,this.state,t,this._modules.get(t),n.preserveState),M(this,this.state)},nt.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=j(e.state,t.slice(0,-1));delete n[t[t.length-1]]})),k(this)},nt.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},nt.prototype.hotUpdate=function(t){this._modules.update(t),k(this,!0)},nt.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(nt.prototype,rt);st((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=at(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,e,n):e[i]},n[r].vuex=!0})),n})),st((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var o=at(this.$store,"mapMutations",t);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),st((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;i=t+i,n[r]=function(){if(!t||at(this.$store,"mapGetters",t))return this.$store.getters[i]},n[r].vuex=!0})),n})),st((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var o=at(this.$store,"mapActions",t);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n}));function it(t){return ot(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function ot(t){return Array.isArray(t)||y(t)}function st(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function at(t,e,n){var r=t._modulesNamespaceMap[n];return r}},5855:function(t,e){"use strict";function n(t,e,n){var s=o(t,n.timeZone,n.locale);return s.formatToParts?r(s,e):i(s,e)}function r(t,e){var n=t.formatToParts(e);return n[n.length-1].value}function i(t,e){var n=t.format(e).replace(/\u200E/g,""),r=/ [\w-+ ]+$/.exec(n);return r?r[0].substr(1):""}function o(t,e,n){if(n&&!n.code)throw new Error("date-fns-tz error: Please set a language code on the locale object imported from date-fns, e.g. `locale.code = 'en-US'`");return new Intl.DateTimeFormat(n?[n.code,"en-US"]:void 0,{timeZone:e,timeZoneName:t})}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},2734:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=i(n(2712));function i(t){return t&&t.__esModule?t:{default:t}}var o=36e5,s=6e4,a={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function c(t,e,n){var r,i,c;if(""===t)return 0;if(r=a.timezoneZ.exec(t),r)return 0;if(r=a.timezoneHH.exec(t),r)return c=parseInt(r[1],10),f(c)?-c*o:NaN;if(r=a.timezoneHHMM.exec(t),r){c=parseInt(r[1],10);var d=parseInt(r[2],10);return f(c,d)?(i=Math.abs(c)*o+d*s,c>0?-i:i):NaN}if(p(t)){e=new Date(e||Date.now());var g=n?e:l(e),m=u(g,t),b=n?m:h(e,m,t);return-b}return NaN}function l(t){return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))}function u(t,e){var n=(0,r.default)(t,e),i=Date.UTC(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5]),o=t.getTime(),s=o%1e3;return o-=s>=0?s:1e3+s,i-o}function h(t,e,n){var r=t.getTime(),i=r-e,o=u(new Date(i),n);if(e===o)return e;i-=o-e;var s=u(new Date(i),n);return o===s?o:Math.max(o,s)}function f(t,e){return 12===t&&(null==e||0===e)||-11<=t&&t<=11&&(null==e||0<=e&&e<59)}var d={};function p(t){if(d[t])return!0;try{return Intl.DateTimeFormat(void 0,{timeZone:t}),d[t]=!0,!0}catch(e){return!1}}t.exports=e.default},7048:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,r=n;e["default"]=r,t.exports=e.default},2712:function(t,e){"use strict";function n(t,e){var n=a(e);return n.formatToParts?i(n,t):o(n,t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n;var r={year:0,month:1,day:2,hour:3,minute:4,second:5};function i(t,e){try{for(var n=t.formatToParts(e),i=[],o=0;o=0&&(i[s]=parseInt(n[o].value,10))}return i}catch(a){if(a instanceof RangeError)return[NaN];throw a}}function o(t,e){var n=t.format(e).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(n);return[r[3],r[1],r[2],r[4],r[5],r[6]]}var s={};function a(t){if(!s[t]){var e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===e||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===e;s[t]=n?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return s[t]}t.exports=e.default},3826:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=o(n(5855)),i=o(n(2734));function o(t){return t&&t.__esModule?t:{default:t}}var s=6e4,a={X:function(t,e,n,r){var i=c(r.timeZone,r._originalDate||t);if(0===i)return"Z";switch(e){case"X":return h(i);case"XXXX":case"XX":return u(i);case"XXXXX":case"XXX":default:return u(i,":")}},x:function(t,e,n,r){var i=c(r.timeZone,r._originalDate||t);switch(e){case"x":return h(i);case"xxxx":case"xx":return u(i);case"xxxxx":case"xxx":default:return u(i,":")}},O:function(t,e,n,r){var i=c(r.timeZone,r._originalDate||t);switch(e){case"O":case"OO":case"OOO":return"GMT"+f(i,":");case"OOOO":default:return"GMT"+u(i,":")}},z:function(t,e,n,i){var o=i._originalDate||t;switch(e){case"z":case"zz":case"zzz":return(0,r.default)("short",o,i);case"zzzz":default:return(0,r.default)("long",o,i)}}};function c(t,e){var n=t?(0,i.default)(t,e,!0)/s:e.getTimezoneOffset();if(Number.isNaN(n))throw new RangeError("Invalid time zone specified: "+t);return n}function l(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?"-":"+",i=Math.abs(t),o=l(Math.floor(i/60),2),s=l(Math.floor(i%60),2);return r+o+n+s}function h(t,e){if(t%60===0){var n=t>0?"-":"+";return n+l(Math.abs(t)/60,2)}return u(t,e)}function f(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var s=e||"";return n+String(i)+s+l(o,2)}var d=a;e["default"]=d,t.exports=e.default},2012:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(5616)),i=s(n(3826)),o=s(n(1476));function s(t){return t&&t.__esModule?t:{default:t}}var a=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function c(t,e,n){var s=String(e),c=n||{},l=s.match(a);if(l){var u=(0,o.default)(t,c);s=l.reduce((function(t,e){if("'"===e[0])return t;var n=t.indexOf(e),r="'"===t[n-1],o=t.replace(e,"'"+i.default[e[0]](u,e,null,c)+"'");return r?o.substring(0,n-1)+o.substring(n+1):o}),s)}return(0,r.default)(t,s,c)}t.exports=e.default},6645:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=s(n(6420)),i=s(n(2012)),o=s(n(1132));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e,n,s){var a=(0,r.default)(s);return a.timeZone=e,(0,i.default)((0,o.default)(t,e),n,a)}t.exports=e.default},4992:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o;var r=i(n(2734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t,e){return-(0,r.default)(t,e)}t.exports=e.default},722:function(t,e,n){"use strict";t.exports={format:n(2012),formatInTimeZone:n(6645),getTimezoneOffset:n(4992),toDate:n(1476),utcToZonedTime:n(1132),zonedTimeToUtc:n(8516)}},1476:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=f;var r=a(n(2084)),i=a(n(3561)),o=a(n(2734)),s=a(n(7048));function a(t){return t&&t.__esModule?t:{default:t}}var c=36e5,l=6e4,u=2,h={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:s.default};function f(t,e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===t)return new Date(NaN);var n=e||{},s=null==n.additionalDigits?u:(0,r.default)(n.additionalDigits);if(2!==s&&1!==s&&0!==s)throw new RangeError("additionalDigits must be 0, 1 or 2");if(t instanceof Date||"object"===typeof t&&"[object Date]"===Object.prototype.toString.call(t))return new Date(t.getTime());if("number"===typeof t||"[object Number]"===Object.prototype.toString.call(t))return new Date(t);if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var a=d(t),c=p(a.date,s),l=c.year,h=c.restDateString,f=g(h,l);if(isNaN(f))return new Date(NaN);if(f){var b,v=f.getTime(),y=0;if(a.time&&(y=m(a.time),isNaN(y)))return new Date(NaN);if(a.timeZone||n.timeZone){if(b=(0,o.default)(a.timeZone||n.timeZone,new Date(v+y)),isNaN(b))return new Date(NaN)}else b=(0,i.default)(new Date(v+y)),b=(0,i.default)(new Date(v+y+b));return new Date(v+y+b)}return new Date(NaN)}function d(t){var e,n={},r=h.dateTimePattern.exec(t);if(r?(n.date=r[1],e=r[3]):(r=h.datePattern.exec(t),r?(n.date=r[1],e=r[2]):(n.date=null,e=t)),e){var i=h.timeZone.exec(e);i?(n.time=e.replace(i[1],""),n.timeZone=i[1].trim()):n.time=e}return n}function p(t,e){var n,r=h.YYY[e],i=h.YYYYY[e];if(n=h.YYYY.exec(t)||i.exec(t),n){var o=n[1];return{year:parseInt(o,10),restDateString:t.slice(o.length)}}if(n=h.YY.exec(t)||r.exec(t),n){var s=n[1];return{year:100*parseInt(s,10),restDateString:t.slice(s.length)}}return{year:null}}function g(t,e){if(null===e)return null;var n,r,i,o;if(0===t.length)return r=new Date(0),r.setUTCFullYear(e),r;if(n=h.MM.exec(t),n)return r=new Date(0),i=parseInt(n[1],10)-1,_(e,i)?(r.setUTCFullYear(e,i),r):new Date(NaN);if(n=h.DDD.exec(t),n){r=new Date(0);var s=parseInt(n[1],10);return w(e,s)?(r.setUTCFullYear(e,0,s),r):new Date(NaN)}if(n=h.MMDD.exec(t),n){r=new Date(0),i=parseInt(n[1],10)-1;var a=parseInt(n[2],10);return _(e,i,a)?(r.setUTCFullYear(e,i,a),r):new Date(NaN)}if(n=h.Www.exec(t),n)return o=parseInt(n[1],10)-1,k(e,o)?b(e,o):new Date(NaN);if(n=h.WwwD.exec(t),n){o=parseInt(n[1],10)-1;var c=parseInt(n[2],10)-1;return k(e,o,c)?b(e,o,c):new Date(NaN)}return null}function m(t){var e,n,r;if(e=h.HH.exec(t),e)return n=parseFloat(e[1].replace(",",".")),M(n)?n%24*c:NaN;if(e=h.HHMM.exec(t),e)return n=parseInt(e[1],10),r=parseFloat(e[2].replace(",",".")),M(n,r)?n%24*c+r*l:NaN;if(e=h.HHMMSS.exec(t),e){n=parseInt(e[1],10),r=parseInt(e[2],10);var i=parseFloat(e[3].replace(",","."));return M(n,r,i)?n%24*c+r*l+1e3*i:NaN}return null}function b(t,e,n){e=e||0,n=n||0;var r=new Date(0);r.setUTCFullYear(t,0,4);var i=r.getUTCDay()||7,o=7*e+n+1-i;return r.setUTCDate(r.getUTCDate()+o),r}var v=[31,28,31,30,31,30,31,31,30,31,30,31],y=[31,29,31,30,31,30,31,31,30,31,30,31];function x(t){return t%400===0||t%4===0&&t%100!==0}function _(t,e,n){if(e<0||e>11)return!1;if(null!=n){if(n<1)return!1;var r=x(t);if(r&&n>y[e])return!1;if(!r&&n>v[e])return!1}return!0}function w(t,e){if(e<1)return!1;var n=x(t);return!(n&&e>366)&&!(!n&&e>365)}function k(t,e,n){return!(e<0||e>52)&&(null==n||!(n<0||n>6))}function M(t,e,n){return(null==t||!(t<0||t>=25))&&((null==e||!(e<0||e>=60))&&(null==n||!(n<0||n>=60)))}t.exports=e.default},1132:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=o(n(2734)),i=o(n(1476));function o(t){return t&&t.__esModule?t:{default:t}}function s(t,e,n){var o=(0,i.default)(t,n),s=(0,r.default)(e,o,!0),a=new Date(o.getTime()-s);return new Date(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds())}t.exports=e.default},8516:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=a(n(6420)),i=a(n(1476)),o=a(n(7048)),s=a(n(2734));function a(t){return t&&t.__esModule?t:{default:t}}function c(t,e,n){if("string"===typeof t&&!t.match(o.default)){var a=(0,r.default)(n);return a.timeZone=e,(0,i.default)(t,a)}var c=(0,i.default)(t,n),l=Date.UTC(c.getFullYear(),c.getMonth(),c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds()),u=(0,s.default)(e,new Date(l));return new Date(l+u)}t.exports=e.default},6518:function(t,e,n){"use strict";n.d(e,{vz:function(){return Oa},wW:function(){return Ca},xZ:function(){return Pa},tn:function(){return Ta}});var r=n(3328);function i(){this.__data__=[],this.size=0}var o=i;function s(t,e){return t===e||t!==t&&e!==e}var a=s;function c(t,e){var n=t.length;while(n--)if(a(t[n][0],e))return n;return-1}var l=c,u=Array.prototype,h=u.splice;function f(t){var e=this.__data__,n=l(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():h.call(e,n,1),--this.size,!0}var d=f;function p(t){var e=this.__data__,n=l(e,t);return n<0?void 0:e[n][1]}var g=p;function m(t){return l(this.__data__,t)>-1}var b=m;function v(t,e){var n=this.__data__,r=l(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var y=v;function x(t){var e=-1,n=null==t?0:t.length;this.clear();while(++ea))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var h=-1,f=!0,d=n&Te?new ke:void 0;o.set(t,e),o.set(e,t);while(++h-1&&t%1==0&&t-1&&t%1==0&&t<=Hn}var $n=Bn,Vn="[object Arguments]",Yn="[object Array]",Zn="[object Boolean]",qn="[object Date]",Xn="[object Error]",Gn="[object Function]",Jn="[object Map]",Kn="[object Number]",Qn="[object Object]",tr="[object RegExp]",er="[object Set]",nr="[object String]",rr="[object WeakMap]",ir="[object ArrayBuffer]",or="[object DataView]",sr="[object Float32Array]",ar="[object Float64Array]",cr="[object Int8Array]",lr="[object Int16Array]",ur="[object Int32Array]",hr="[object Uint8Array]",fr="[object Uint8ClampedArray]",dr="[object Uint16Array]",pr="[object Uint32Array]",gr={};function mr(t){return xn(t)&&$n(t.length)&&!!gr[J(t)]}gr[sr]=gr[ar]=gr[cr]=gr[lr]=gr[ur]=gr[hr]=gr[fr]=gr[dr]=gr[pr]=!0,gr[Vn]=gr[Yn]=gr[ir]=gr[Zn]=gr[or]=gr[qn]=gr[Xn]=gr[Gn]=gr[Jn]=gr[Kn]=gr[Qn]=gr[tr]=gr[er]=gr[nr]=gr[rr]=!1;var br=mr;function vr(t){return function(e){return t(e)}}var yr=vr,xr="object"==typeof exports&&exports&&!exports.nodeType&&exports,_r=xr&&"object"==typeof module&&module&&!module.nodeType&&module,wr=_r&&_r.exports===xr,kr=wr&&E.process,Mr=function(){try{var t=_r&&_r.require&&_r.require("util").types;return t||kr&&kr.binding&&kr.binding("util")}catch(e){}}(),Sr=Mr,Or=Sr&&Sr.isTypedArray,Cr=Or?yr(Or):br,Pr=Cr,Tr=Object.prototype,Dr=Tr.hasOwnProperty;function Er(t,e){var n=on(t),r=!n&&Pn(t),i=!n&&!r&&Rn(t),o=!n&&!r&&!i&&Pr(t),s=n||r||i||o,a=s?vn(t.length,String):[],c=a.length;for(var l in t)!e&&!Dr.call(t,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Un(l,c))||a.push(l);return a}var jr=Er,Ar=Object.prototype;function Lr(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||Ar;return t===n}var Fr=Lr;function Ir(t,e){return function(n){return t(e(n))}}var Rr=Ir,Nr=Rr(Object.keys,Object),Wr=Nr,zr=Object.prototype,Ur=zr.hasOwnProperty;function Hr(t){if(!Fr(t))return Wr(t);var e=[];for(var n in Object(t))Ur.call(t,n)&&"constructor"!=n&&e.push(n);return e}var Br=Hr;function $r(t){return null!=t&&$n(t.length)&&!ot(t)}var Vr=$r;function Yr(t){return Vr(t)?jr(t):Br(t)}var Zr=Yr;function qr(t){return an(t,Zr,mn)}var Xr=qr,Gr=1,Jr=Object.prototype,Kr=Jr.hasOwnProperty;function Qr(t,e,n,r,i,o){var s=n&Gr,a=Xr(t),c=a.length,l=Xr(e),u=l.length;if(c!=u&&!s)return!1;var h=c;while(h--){var f=a[h];if(!(s?f in e:Kr.call(e,f)))return!1}var d=o.get(t),p=o.get(e);if(d&&p)return d==e&&p==t;var g=!0;o.set(t,e),o.set(e,t);var m=s;while(++hnull==t?"":Array.isArray(t)?t.map((t=>t.toString().trim())).filter((t=>t.length>0)).join(" "):"function"===typeof t?t.name?t.name:"":"function"!==typeof t.toString?"":t.toString().trim(),da=(t,e={})=>{const n=fa(t),r=e.punctuationRegex??ha,i=n?ua(r?n.replace(r," "):n,e):"";return i?i[0].toLocaleUpperCase(e.locale)+i.slice(1):""};var pa=da,ga=Object.defineProperty,ma=Object.defineProperties,ba=Object.getOwnPropertyDescriptors,va=Object.getOwnPropertySymbols,ya=Object.prototype.hasOwnProperty,xa=Object.prototype.propertyIsEnumerable,_a=(t,e,n)=>e in t?ga(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,wa=(t,e)=>{for(var n in e||(e={}))ya.call(e,n)&&_a(t,n,e[n]);if(va)for(var n of va(e))xa.call(e,n)&&_a(t,n,e[n]);return t},ka=(t,e)=>ma(t,ba(e)),Ma=(t,e)=>{const n={chartData:{type:Object,required:!0},options:{type:Object,required:!1},chartId:{default:t,type:String},width:{default:400,type:Number},height:{default:400,type:Number},cssClasses:{type:String,default:""},styles:{type:Object},plugins:{type:Array,default:()=>[]},onLabelsUpdate:{type:Function},onChartUpdate:{type:Function},onChartDestroy:{type:Function},onChartRender:{type:Function}},i=pa(t);return(0,ca.aZ)({name:i,props:n,emits:{"labels:update":()=>!0,"chart:update":t=>!0,"chart:destroy":()=>!0,"chart:render":t=>!0},setup(t,{emit:n,expose:o}){const s=(0,la.iH)(null),a=`${t.chartId}`;let c=(0,la.XI)(null);function l(t,e){if(e&&c.value){let n=c.value;Ai(t,e)||e.datasets.length!==t.datasets.length?n.data.datasets=t.datasets:(t.datasets.forEach(((t,r)=>{const i=Object.keys(e.datasets[r]),o=Object.keys(t),s=i.filter((t=>"_meta"!==t&&-1===o.indexOf(t)));s.forEach((t=>{n.data.datasets[r]&&delete n.data.datasets[r][t]}));for(const e in t){const i=t[e];t.hasOwnProperty(e)&&null!=i&&n&&(n.data.datasets[r][e]=i)}})),t.labels&&(n.data.labels=t.labels,h())),d()}else c.value&&p(),u()}function u(){s.value?(c.value=new r.kL(s.value,{data:t.chartData,type:e,options:aa(t.options),plugins:t.plugins}),f()):console.error(`Error on component ${i}, canvas cannot be rendered. Check if the render appends server-side`)}function h(){n("labels:update"),t.onLabelsUpdate&&t.onLabelsUpdate()}function f(){c.value&&(n("chart:render",c.value),t.onChartRender&&t.onChartRender(c.value))}function d(){c.value&&(c.value.update(),n("chart:render",c.value),t.onChartRender&&t.onChartRender(c.value))}function p(){c.value&&c.value.destroy(),n("chart:destroy"),t.onChartDestroy&&t.onChartDestroy()}return(0,ca.YP)((()=>t.chartData),l,{deep:!0}),(0,ca.YP)((()=>t.options),((t,e)=>{c.value&&t&&!Ai(c.value.options,e)&&(c.value.options=aa(t),e=aa(t),d())}),{deep:!0}),(0,ca.bv)(u),(0,ca.Jd)((()=>{c.value&&c.value.destroy()})),o({canvasRef:s,renderChart:u,chartInstance:c,canvasId:a,update:d}),()=>(0,ca.h)("div",{style:ka(wa({maxWidth:"100%"},t.styles),{position:"relative"}),class:t.cssClasses},[(0,ca.h)("canvas",{style:{maxWidth:"100%",maxHeight:"100%"},id:a,width:t.width,height:t.height,ref:s})])}})},Sa=t=>e=>{const n=`${t}ChartRef`,r={[n]:(0,la.iH)()},i=(0,ca.Fl)((()=>ka(wa(wa(wa({},e),e.jsx&&{ref:r[n]}),!e.jsx&&{ref:n}),{chartData:(0,la.SU)(e.chartData),options:(0,la.SU)(e.options)})));function o(){var e;const i=r[n].value;i?null==(e=null==i?void 0:i.chartInstance.value)||e.update():console.warn(`No chartInstance to update (use${pa(t)}Chart)`)}return{[`${t}ChartProps`]:i,[n]:r[n],update:o}},Oa=Ma("bar-chart","bar"),Ca=(Ma("doughnut-chart","doughnut"),Ma("line-chart","line")),Pa=(Ma("pie-chart","pie"),Ma("polar-chart","polarArea"),Ma("radar-chart","radar"),Ma("bubble-chart","bubble"),Ma("scatter-chart","scatter"),Sa("doughnut"),Sa("bar")),Ta=Sa("line");Sa("pie"),Sa("polarArea"),Sa("radar"),Sa("bubble"),Sa("scatter")}}]); -//# sourceMappingURL=chunk-vendors.c045258f.js.map \ No newline at end of file +var m="store";function b(t){return void 0===t&&(t=null),(0,r.f3)(null!==t?t:m)}function v(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function y(t){return null!==t&&"object"===typeof t}function x(t){return t&&"function"===typeof t.then}function _(t,e){return function(){return t(e)}}function w(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function k(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;S(t,n,[],t._modules.root,!0),M(t,n,e)}function M(t,e,n){var r=t._state;t.getters={},t._makeLocalGettersCache=Object.create(null);var o=t._wrappedGetters,s={};v(o,(function(e,n){s[n]=_(e,t),Object.defineProperty(t.getters,n,{get:function(){return s[n]()},enumerable:!0})})),t._state=(0,i.qj)({data:e}),t.strict&&E(t),r&&n&&t._withCommit((function(){r.data=null}))}function S(t,e,n,r,i){var o=!n.length,s=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[s],t._modulesNamespaceMap[s]=r),!o&&!i){var a=j(e,n.slice(0,-1)),c=n[n.length-1];t._withCommit((function(){a[c]=r.state}))}var l=r.context=O(t,s,n);r.forEachMutation((function(e,n){var r=s+n;P(t,r,e,l)})),r.forEachAction((function(e,n){var r=e.root?n:s+n,i=e.handler||e;T(t,r,i,l)})),r.forEachGetter((function(e,n){var r=s+n;D(t,r,e,l)})),r.forEachChild((function(r,o){S(t,e,n.concat(o),r,i)}))}function O(t,e,n){var r=""===e,i={dispatch:r?t.dispatch:function(n,r,i){var o=A(n,r,i),s=o.payload,a=o.options,c=o.type;return a&&a.root||(c=e+c),t.dispatch(c,s)},commit:r?t.commit:function(n,r,i){var o=A(n,r,i),s=o.payload,a=o.options,c=o.type;a&&a.root||(c=e+c),t.commit(c,s,a)}};return Object.defineProperties(i,{getters:{get:r?function(){return t.getters}:function(){return C(t,e)}},state:{get:function(){return j(t.state,n)}}}),i}function C(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(i){if(i.slice(0,r)===e){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return t.getters[i]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function P(t,e,n,r){var i=t._mutations[e]||(t._mutations[e]=[]);i.push((function(e){n.call(t,r.state,e)}))}function T(t,e,n,r){var i=t._actions[e]||(t._actions[e]=[]);i.push((function(e){var i=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return x(i)||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}function D(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function E(t){(0,r.YP)((function(){return t._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function j(t,e){return e.reduce((function(t,e){return t[e]}),t)}function A(t,e,n){return y(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}var L="vuex bindings",F="vuex:mutations",I="vuex:actions",R="vuex",N=0;function W(t,e){g({id:"org.vuejs.vuex",app:t,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[L]},(function(n){n.addTimelineLayer({id:F,label:"Vuex Mutations",color:z}),n.addTimelineLayer({id:I,label:"Vuex Actions",color:z}),n.addInspector({id:R,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===t&&n.inspectorId===R)if(n.filter){var r=[];Y(r,e._modules.root,n.filter,""),n.rootNodes=r}else n.rootNodes=[V(e._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===t&&n.inspectorId===R){var r=n.nodeId;C(e,r),n.state=Z(X(e._modules,r),"root"===r?e.getters:e._makeLocalGettersCache,r)}})),n.on.editInspectorState((function(n){if(n.app===t&&n.inspectorId===R){var r=n.nodeId,i=n.path;"root"!==r&&(i=r.split("/").filter(Boolean).concat(i)),e._withCommit((function(){n.set(e._state.data,i,n.state.value)}))}})),e.subscribe((function(t,e){var r={};t.payload&&(r.payload=t.payload),r.state=e,n.notifyComponentUpdate(),n.sendInspectorTree(R),n.sendInspectorState(R),n.addTimelineEvent({layerId:F,event:{time:Date.now(),title:t.type,data:r}})})),e.subscribeAction({before:function(t,e){var r={};t.payload&&(r.payload=t.payload),t._id=N++,t._time=Date.now(),r.state=e,n.addTimelineEvent({layerId:I,event:{time:t._time,title:t.type,groupId:t._id,subtitle:"start",data:r}})},after:function(t,e){var r={},i=Date.now()-t._time;r.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},t.payload&&(r.payload=t.payload),r.state=e,n.addTimelineEvent({layerId:I,event:{time:Date.now(),title:t.type,groupId:t._id,subtitle:"end",data:r}})}})}))}var z=8702998,U=6710886,H=16777215,B={label:"namespaced",textColor:H,backgroundColor:U};function $(t){return t&&"root"!==t?t.split("/").slice(-2,-1)[0]:"Root"}function V(t,e){return{id:e||"root",label:$(e),tags:t.namespaced?[B]:[],children:Object.keys(t._children).map((function(n){return V(t._children[n],e+n+"/")}))}}function Y(t,e,n,r){r.includes(n)&&t.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:e.namespaced?[B]:[]}),Object.keys(e._children).forEach((function(i){Y(t,e._children[i],n,r+i+"/")}))}function Z(t,e,n){e="root"===n?e:e[n];var r=Object.keys(e),i={state:Object.keys(t.state).map((function(e){return{key:e,editable:!0,value:t.state[e]}}))};if(r.length){var o=q(e);i.getters=Object.keys(o).map((function(t){return{key:t.endsWith("/")?$(t):t,editable:!1,value:G((function(){return o[t]}))}}))}return i}function q(t){var e={};return Object.keys(t).forEach((function(n){var r=n.split("/");if(r.length>1){var i=e,o=r.pop();r.forEach((function(t){i[t]||(i[t]={_custom:{value:{},display:t,tooltip:"Module",abstract:!0}}),i=i[t]._custom.value})),i[o]=G((function(){return t[n]}))}else e[n]=G((function(){return t[n]}))})),e}function X(t,e){var n=e.split("/").filter((function(t){return t}));return n.reduce((function(t,r,i){var o=t[r];if(!o)throw new Error('Missing module "'+r+'" for path "'+e+'".');return i===n.length-1?o:o._children}),"root"===e?t:t.root._children)}function G(t){try{return t()}catch(e){return e}}var J=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},K={namespaced:{configurable:!0}};K.namespaced.get=function(){return!!this._rawModule.namespaced},J.prototype.addChild=function(t,e){this._children[t]=e},J.prototype.removeChild=function(t){delete this._children[t]},J.prototype.getChild=function(t){return this._children[t]},J.prototype.hasChild=function(t){return t in this._children},J.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},J.prototype.forEachChild=function(t){v(this._children,t)},J.prototype.forEachGetter=function(t){this._rawModule.getters&&v(this._rawModule.getters,t)},J.prototype.forEachAction=function(t){this._rawModule.actions&&v(this._rawModule.actions,t)},J.prototype.forEachMutation=function(t){this._rawModule.mutations&&v(this._rawModule.mutations,t)},Object.defineProperties(J.prototype,K);var Q=function(t){this.register([],t,!1)};function tt(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;tt(t.concat(r),e.getChild(r),n.modules[r])}}Q.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},Q.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},Q.prototype.update=function(t){tt([],this.root,t)},Q.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new J(e,n);if(0===t.length)this.root=i;else{var o=this.get(t.slice(0,-1));o.addChild(t[t.length-1],i)}e.modules&&v(e.modules,(function(e,i){r.register(t.concat(i),e,n)}))},Q.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},Q.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};function et(t){return new nt(t)}var nt=function(t){var e=this;void 0===t&&(t={});var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var i=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new Q(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._devtools=i;var o=this,s=this,a=s.dispatch,c=s.commit;this.dispatch=function(t,e){return a.call(o,t,e)},this.commit=function(t,e,n){return c.call(o,t,e,n)},this.strict=r;var l=this._modules.root.state;S(this,l,[],this._modules.root),M(this,l),n.forEach((function(t){return t(e)}))},rt={state:{configurable:!0}};nt.prototype.install=function(t,e){t.provide(e||m,this),t.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&W(t,this)},rt.state.get=function(){return this._state.data},rt.state.set=function(t){0},nt.prototype.commit=function(t,e,n){var r=this,i=A(t,e,n),o=i.type,s=i.payload,a=(i.options,{type:o,payload:s}),c=this._mutations[o];c&&(this._withCommit((function(){c.forEach((function(t){t(s)}))})),this._subscribers.slice().forEach((function(t){return t(a,r.state)})))},nt.prototype.dispatch=function(t,e){var n=this,r=A(t,e),i=r.type,o=r.payload,s={type:i,payload:o},a=this._actions[i];if(a){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(s,n.state)}))}catch(l){0}var c=a.length>1?Promise.all(a.map((function(t){return t(o)}))):a[0](o);return new Promise((function(t,e){c.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(s,n.state)}))}catch(l){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(s,n.state,t)}))}catch(l){0}e(t)}))}))}},nt.prototype.subscribe=function(t,e){return w(t,this._subscribers,e)},nt.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return w(n,this._actionSubscribers,e)},nt.prototype.watch=function(t,e,n){var i=this;return(0,r.YP)((function(){return t(i.state,i.getters)}),e,Object.assign({},n))},nt.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._state.data=t}))},nt.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),S(this,this.state,t,this._modules.get(t),n.preserveState),M(this,this.state)},nt.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=j(e.state,t.slice(0,-1));delete n[t[t.length-1]]})),k(this)},nt.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},nt.prototype.hotUpdate=function(t){this._modules.update(t),k(this,!0)},nt.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(nt.prototype,rt);st((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=at(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,e,n):e[i]},n[r].vuex=!0})),n})),st((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var o=at(this.$store,"mapMutations",t);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),st((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;i=t+i,n[r]=function(){if(!t||at(this.$store,"mapGetters",t))return this.$store.getters[i]},n[r].vuex=!0})),n})),st((function(t,e){var n={};return it(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var o=at(this.$store,"mapActions",t);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n}));function it(t){return ot(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function ot(t){return Array.isArray(t)||y(t)}function st(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function at(t,e,n){var r=t._modulesNamespaceMap[n];return r}},5721:function(t,e){"use strict";function n(t,e,n,r,i,o,s){var a=new Date(0);return a.setUTCFullYear(t,e,n),a.setUTCHours(r,i,o,s),a}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},5855:function(t,e){"use strict";function n(t,e,n){var s=o(t,n.timeZone,n.locale);return s.formatToParts?r(s,e):i(s,e)}function r(t,e){var n=t.formatToParts(e);return n[n.length-1].value}function i(t,e){var n=t.format(e).replace(/\u200E/g,""),r=/ [\w-+ ]+$/.exec(n);return r?r[0].substr(1):""}function o(t,e,n){if(n&&!n.code)throw new Error("date-fns-tz error: Please set a language code on the locale object imported from date-fns, e.g. `locale.code = 'en-US'`");return new Intl.DateTimeFormat(n?[n.code,"en-US"]:void 0,{timeZone:e,timeZoneName:t})}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},2734:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=l;var r=o(n(2712)),i=o(n(5721));function o(t){return t&&t.__esModule?t:{default:t}}var s=36e5,a=6e4,c={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function l(t,e,n){var r,i,o;if(""===t)return 0;if(r=c.timezoneZ.exec(t),r)return 0;if(r=c.timezoneHH.exec(t),r)return o=parseInt(r[1],10),d(o)?-o*s:NaN;if(r=c.timezoneHHMM.exec(t),r){o=parseInt(r[1],10);var l=parseInt(r[2],10);return d(o,l)?(i=Math.abs(o)*s+l*a,o>0?-i:i):NaN}if(g(t)){e=new Date(e||Date.now());var p=n?e:u(e),m=h(p,t),b=n?m:f(e,m,t);return-b}return NaN}function u(t){return(0,i.default)(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}function h(t,e){var n=(0,r.default)(t,e),o=(0,i.default)(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5],0).getTime(),s=t.getTime(),a=s%1e3;return s-=a>=0?a:1e3+a,o-s}function f(t,e,n){var r=t.getTime(),i=r-e,o=h(new Date(i),n);if(e===o)return e;i-=o-e;var s=h(new Date(i),n);return o===s?o:Math.max(o,s)}function d(t,e){return-23<=t&&t<=23&&(null==e||0<=e&&e<=59)}var p={};function g(t){if(p[t])return!0;try{return Intl.DateTimeFormat(void 0,{timeZone:t}),p[t]=!0,!0}catch(e){return!1}}t.exports=e.default},7048:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,r=n;e["default"]=r,t.exports=e.default},2712:function(t,e){"use strict";function n(t,e){var n=a(e);return n.formatToParts?i(n,t):o(n,t)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n;var r={year:0,month:1,day:2,hour:3,minute:4,second:5};function i(t,e){try{for(var n=t.formatToParts(e),i=[],o=0;o=0&&(i[s]=parseInt(n[o].value,10))}return i}catch(a){if(a instanceof RangeError)return[NaN];throw a}}function o(t,e){var n=t.format(e).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(n);return[r[3],r[1],r[2],r[4],r[5],r[6]]}var s={};function a(t){if(!s[t]){var e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===e||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===e;s[t]=n?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return s[t]}t.exports=e.default},3826:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=o(n(5855)),i=o(n(2734));function o(t){return t&&t.__esModule?t:{default:t}}var s=6e4,a={X:function(t,e,n,r){var i=c(r.timeZone,r._originalDate||t);if(0===i)return"Z";switch(e){case"X":return h(i);case"XXXX":case"XX":return u(i);case"XXXXX":case"XXX":default:return u(i,":")}},x:function(t,e,n,r){var i=c(r.timeZone,r._originalDate||t);switch(e){case"x":return h(i);case"xxxx":case"xx":return u(i);case"xxxxx":case"xxx":default:return u(i,":")}},O:function(t,e,n,r){var i=c(r.timeZone,r._originalDate||t);switch(e){case"O":case"OO":case"OOO":return"GMT"+f(i,":");case"OOOO":default:return"GMT"+u(i,":")}},z:function(t,e,n,i){var o=i._originalDate||t;switch(e){case"z":case"zz":case"zzz":return(0,r.default)("short",o,i);case"zzzz":default:return(0,r.default)("long",o,i)}}};function c(t,e){var n=t?(0,i.default)(t,e,!0)/s:e.getTimezoneOffset();if(Number.isNaN(n))throw new RangeError("Invalid time zone specified: "+t);return n}function l(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?"-":"+",i=Math.abs(t),o=l(Math.floor(i/60),2),s=l(Math.floor(i%60),2);return r+o+n+s}function h(t,e){if(t%60===0){var n=t>0?"-":"+";return n+l(Math.abs(t)/60,2)}return u(t,e)}function f(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var s=e||"";return n+String(i)+s+l(o,2)}var d=a;e["default"]=d,t.exports=e.default},2012:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(5616)),i=s(n(3826)),o=s(n(1476));function s(t){return t&&t.__esModule?t:{default:t}}var a=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function c(t,e,n){var s=String(e),c=n||{},l=s.match(a);if(l){var u=(0,o.default)(t,c);s=l.reduce((function(t,e){if("'"===e[0])return t;var n=t.indexOf(e),r="'"===t[n-1],o=t.replace(e,"'"+i.default[e[0]](u,e,null,c)+"'");return r?o.substring(0,n-1)+o.substring(n+1):o}),s)}return(0,r.default)(t,s,c)}t.exports=e.default},6645:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=s(n(6420)),i=s(n(2012)),o=s(n(1132));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e,n,s){var a=(0,r.default)(s);return a.timeZone=e,(0,i.default)((0,o.default)(t,e),n,a)}t.exports=e.default},4992:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o;var r=i(n(2734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t,e){return-(0,r.default)(t,e)}t.exports=e.default},722:function(t,e,n){"use strict";t.exports={format:n(2012),formatInTimeZone:n(6645),getTimezoneOffset:n(4992),toDate:n(1476),utcToZonedTime:n(1132),zonedTimeToUtc:n(8516)}},1476:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=f;var r=a(n(2084)),i=a(n(3561)),o=a(n(2734)),s=a(n(7048));function a(t){return t&&t.__esModule?t:{default:t}}var c=36e5,l=6e4,u=2,h={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:s.default};function f(t,e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===t)return new Date(NaN);var n=e||{},s=null==n.additionalDigits?u:(0,r.default)(n.additionalDigits);if(2!==s&&1!==s&&0!==s)throw new RangeError("additionalDigits must be 0, 1 or 2");if(t instanceof Date||"object"===typeof t&&"[object Date]"===Object.prototype.toString.call(t))return new Date(t.getTime());if("number"===typeof t||"[object Number]"===Object.prototype.toString.call(t))return new Date(t);if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var a=d(t),c=p(a.date,s),l=c.year,h=c.restDateString,f=g(h,l);if(isNaN(f))return new Date(NaN);if(f){var b,v=f.getTime(),y=0;if(a.time&&(y=m(a.time),isNaN(y)))return new Date(NaN);if(a.timeZone||n.timeZone){if(b=(0,o.default)(a.timeZone||n.timeZone,new Date(v+y)),isNaN(b))return new Date(NaN)}else b=(0,i.default)(new Date(v+y)),b=(0,i.default)(new Date(v+y+b));return new Date(v+y+b)}return new Date(NaN)}function d(t){var e,n={},r=h.dateTimePattern.exec(t);if(r?(n.date=r[1],e=r[3]):(r=h.datePattern.exec(t),r?(n.date=r[1],e=r[2]):(n.date=null,e=t)),e){var i=h.timeZone.exec(e);i?(n.time=e.replace(i[1],""),n.timeZone=i[1].trim()):n.time=e}return n}function p(t,e){var n,r=h.YYY[e],i=h.YYYYY[e];if(n=h.YYYY.exec(t)||i.exec(t),n){var o=n[1];return{year:parseInt(o,10),restDateString:t.slice(o.length)}}if(n=h.YY.exec(t)||r.exec(t),n){var s=n[1];return{year:100*parseInt(s,10),restDateString:t.slice(s.length)}}return{year:null}}function g(t,e){if(null===e)return null;var n,r,i,o;if(0===t.length)return r=new Date(0),r.setUTCFullYear(e),r;if(n=h.MM.exec(t),n)return r=new Date(0),i=parseInt(n[1],10)-1,_(e,i)?(r.setUTCFullYear(e,i),r):new Date(NaN);if(n=h.DDD.exec(t),n){r=new Date(0);var s=parseInt(n[1],10);return w(e,s)?(r.setUTCFullYear(e,0,s),r):new Date(NaN)}if(n=h.MMDD.exec(t),n){r=new Date(0),i=parseInt(n[1],10)-1;var a=parseInt(n[2],10);return _(e,i,a)?(r.setUTCFullYear(e,i,a),r):new Date(NaN)}if(n=h.Www.exec(t),n)return o=parseInt(n[1],10)-1,k(e,o)?b(e,o):new Date(NaN);if(n=h.WwwD.exec(t),n){o=parseInt(n[1],10)-1;var c=parseInt(n[2],10)-1;return k(e,o,c)?b(e,o,c):new Date(NaN)}return null}function m(t){var e,n,r;if(e=h.HH.exec(t),e)return n=parseFloat(e[1].replace(",",".")),M(n)?n%24*c:NaN;if(e=h.HHMM.exec(t),e)return n=parseInt(e[1],10),r=parseFloat(e[2].replace(",",".")),M(n,r)?n%24*c+r*l:NaN;if(e=h.HHMMSS.exec(t),e){n=parseInt(e[1],10),r=parseInt(e[2],10);var i=parseFloat(e[3].replace(",","."));return M(n,r,i)?n%24*c+r*l+1e3*i:NaN}return null}function b(t,e,n){e=e||0,n=n||0;var r=new Date(0);r.setUTCFullYear(t,0,4);var i=r.getUTCDay()||7,o=7*e+n+1-i;return r.setUTCDate(r.getUTCDate()+o),r}var v=[31,28,31,30,31,30,31,31,30,31,30,31],y=[31,29,31,30,31,30,31,31,30,31,30,31];function x(t){return t%400===0||t%4===0&&t%100!==0}function _(t,e,n){if(e<0||e>11)return!1;if(null!=n){if(n<1)return!1;var r=x(t);if(r&&n>y[e])return!1;if(!r&&n>v[e])return!1}return!0}function w(t,e){if(e<1)return!1;var n=x(t);return!(n&&e>366)&&!(!n&&e>365)}function k(t,e,n){return!(e<0||e>52)&&(null==n||!(n<0||n>6))}function M(t,e,n){return(null==t||!(t<0||t>=25))&&((null==e||!(e<0||e>=60))&&(null==n||!(n<0||n>=60)))}t.exports=e.default},1132:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=o(n(2734)),i=o(n(1476));function o(t){return t&&t.__esModule?t:{default:t}}function s(t,e,n){var o=(0,i.default)(t,n),s=(0,r.default)(e,o,!0),a=new Date(o.getTime()-s);return new Date(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds())}t.exports=e.default},8516:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=l;var r=c(n(6420)),i=c(n(1476)),o=c(n(7048)),s=c(n(2734)),a=c(n(5721));function c(t){return t&&t.__esModule?t:{default:t}}function l(t,e,n){if("string"===typeof t&&!t.match(o.default)){var c=(0,r.default)(n);return c.timeZone=e,(0,i.default)(t,c)}var l=(0,i.default)(t,n),u=(0,a.default)(l.getFullYear(),l.getMonth(),l.getDate(),l.getHours(),l.getMinutes(),l.getSeconds(),l.getMilliseconds()).getTime(),h=(0,s.default)(e,new Date(u));return new Date(u+h)}t.exports=e.default},6518:function(t,e,n){"use strict";n.d(e,{vz:function(){return Oa},wW:function(){return Ca},xZ:function(){return Pa},tn:function(){return Ta}});var r=n(3328);function i(){this.__data__=[],this.size=0}var o=i;function s(t,e){return t===e||t!==t&&e!==e}var a=s;function c(t,e){var n=t.length;while(n--)if(a(t[n][0],e))return n;return-1}var l=c,u=Array.prototype,h=u.splice;function f(t){var e=this.__data__,n=l(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():h.call(e,n,1),--this.size,!0}var d=f;function p(t){var e=this.__data__,n=l(e,t);return n<0?void 0:e[n][1]}var g=p;function m(t){return l(this.__data__,t)>-1}var b=m;function v(t,e){var n=this.__data__,r=l(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var y=v;function x(t){var e=-1,n=null==t?0:t.length;this.clear();while(++ea))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var h=-1,f=!0,d=n&Te?new ke:void 0;o.set(t,e),o.set(e,t);while(++h-1&&t%1==0&&t-1&&t%1==0&&t<=Hn}var $n=Bn,Vn="[object Arguments]",Yn="[object Array]",Zn="[object Boolean]",qn="[object Date]",Xn="[object Error]",Gn="[object Function]",Jn="[object Map]",Kn="[object Number]",Qn="[object Object]",tr="[object RegExp]",er="[object Set]",nr="[object String]",rr="[object WeakMap]",ir="[object ArrayBuffer]",or="[object DataView]",sr="[object Float32Array]",ar="[object Float64Array]",cr="[object Int8Array]",lr="[object Int16Array]",ur="[object Int32Array]",hr="[object Uint8Array]",fr="[object Uint8ClampedArray]",dr="[object Uint16Array]",pr="[object Uint32Array]",gr={};function mr(t){return xn(t)&&$n(t.length)&&!!gr[J(t)]}gr[sr]=gr[ar]=gr[cr]=gr[lr]=gr[ur]=gr[hr]=gr[fr]=gr[dr]=gr[pr]=!0,gr[Vn]=gr[Yn]=gr[ir]=gr[Zn]=gr[or]=gr[qn]=gr[Xn]=gr[Gn]=gr[Jn]=gr[Kn]=gr[Qn]=gr[tr]=gr[er]=gr[nr]=gr[rr]=!1;var br=mr;function vr(t){return function(e){return t(e)}}var yr=vr,xr="object"==typeof exports&&exports&&!exports.nodeType&&exports,_r=xr&&"object"==typeof module&&module&&!module.nodeType&&module,wr=_r&&_r.exports===xr,kr=wr&&E.process,Mr=function(){try{var t=_r&&_r.require&&_r.require("util").types;return t||kr&&kr.binding&&kr.binding("util")}catch(e){}}(),Sr=Mr,Or=Sr&&Sr.isTypedArray,Cr=Or?yr(Or):br,Pr=Cr,Tr=Object.prototype,Dr=Tr.hasOwnProperty;function Er(t,e){var n=on(t),r=!n&&Pn(t),i=!n&&!r&&Rn(t),o=!n&&!r&&!i&&Pr(t),s=n||r||i||o,a=s?vn(t.length,String):[],c=a.length;for(var l in t)!e&&!Dr.call(t,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Un(l,c))||a.push(l);return a}var jr=Er,Ar=Object.prototype;function Lr(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||Ar;return t===n}var Fr=Lr;function Ir(t,e){return function(n){return t(e(n))}}var Rr=Ir,Nr=Rr(Object.keys,Object),Wr=Nr,zr=Object.prototype,Ur=zr.hasOwnProperty;function Hr(t){if(!Fr(t))return Wr(t);var e=[];for(var n in Object(t))Ur.call(t,n)&&"constructor"!=n&&e.push(n);return e}var Br=Hr;function $r(t){return null!=t&&$n(t.length)&&!ot(t)}var Vr=$r;function Yr(t){return Vr(t)?jr(t):Br(t)}var Zr=Yr;function qr(t){return an(t,Zr,mn)}var Xr=qr,Gr=1,Jr=Object.prototype,Kr=Jr.hasOwnProperty;function Qr(t,e,n,r,i,o){var s=n&Gr,a=Xr(t),c=a.length,l=Xr(e),u=l.length;if(c!=u&&!s)return!1;var h=c;while(h--){var f=a[h];if(!(s?f in e:Kr.call(e,f)))return!1}var d=o.get(t),p=o.get(e);if(d&&p)return d==e&&p==t;var g=!0;o.set(t,e),o.set(e,t);var m=s;while(++hnull==t?"":Array.isArray(t)?t.map((t=>t.toString().trim())).filter((t=>t.length>0)).join(" "):"function"===typeof t?t.name?t.name:"":"function"!==typeof t.toString?"":t.toString().trim(),da=(t,e={})=>{const n=fa(t),r=e.punctuationRegex??ha,i=n?ua(r?n.replace(r," "):n,e):"";return i?i[0].toLocaleUpperCase(e.locale)+i.slice(1):""};var pa=da,ga=Object.defineProperty,ma=Object.defineProperties,ba=Object.getOwnPropertyDescriptors,va=Object.getOwnPropertySymbols,ya=Object.prototype.hasOwnProperty,xa=Object.prototype.propertyIsEnumerable,_a=(t,e,n)=>e in t?ga(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,wa=(t,e)=>{for(var n in e||(e={}))ya.call(e,n)&&_a(t,n,e[n]);if(va)for(var n of va(e))xa.call(e,n)&&_a(t,n,e[n]);return t},ka=(t,e)=>ma(t,ba(e)),Ma=(t,e)=>{const n={chartData:{type:Object,required:!0},options:{type:Object,required:!1},chartId:{default:t,type:String},width:{default:400,type:Number},height:{default:400,type:Number},cssClasses:{type:String,default:""},styles:{type:Object},plugins:{type:Array,default:()=>[]},onLabelsUpdate:{type:Function},onChartUpdate:{type:Function},onChartDestroy:{type:Function},onChartRender:{type:Function}},i=pa(t);return(0,ca.aZ)({name:i,props:n,emits:{"labels:update":()=>!0,"chart:update":t=>!0,"chart:destroy":()=>!0,"chart:render":t=>!0},setup(t,{emit:n,expose:o}){const s=(0,la.iH)(null),a=`${t.chartId}`;let c=(0,la.XI)(null);function l(t,e){if(e&&c.value){let n=c.value;Ai(t,e)||e.datasets.length!==t.datasets.length?n.data.datasets=t.datasets:(t.datasets.forEach(((t,r)=>{const i=Object.keys(e.datasets[r]),o=Object.keys(t),s=i.filter((t=>"_meta"!==t&&-1===o.indexOf(t)));s.forEach((t=>{n.data.datasets[r]&&delete n.data.datasets[r][t]}));for(const e in t){const i=t[e];t.hasOwnProperty(e)&&null!=i&&n&&(n.data.datasets[r][e]=i)}})),t.labels&&(n.data.labels=t.labels,h())),d()}else c.value&&p(),u()}function u(){s.value?(c.value=new r.kL(s.value,{data:t.chartData,type:e,options:aa(t.options),plugins:t.plugins}),f()):console.error(`Error on component ${i}, canvas cannot be rendered. Check if the render appends server-side`)}function h(){n("labels:update"),t.onLabelsUpdate&&t.onLabelsUpdate()}function f(){c.value&&(n("chart:render",c.value),t.onChartRender&&t.onChartRender(c.value))}function d(){c.value&&(c.value.update(),n("chart:render",c.value),t.onChartRender&&t.onChartRender(c.value))}function p(){c.value&&c.value.destroy(),n("chart:destroy"),t.onChartDestroy&&t.onChartDestroy()}return(0,ca.YP)((()=>t.chartData),l,{deep:!0}),(0,ca.YP)((()=>t.options),((t,e)=>{c.value&&t&&!Ai(c.value.options,e)&&(c.value.options=aa(t),e=aa(t),d())}),{deep:!0}),(0,ca.bv)(u),(0,ca.Jd)((()=>{c.value&&c.value.destroy()})),o({canvasRef:s,renderChart:u,chartInstance:c,canvasId:a,update:d}),()=>(0,ca.h)("div",{style:ka(wa({maxWidth:"100%"},t.styles),{position:"relative"}),class:t.cssClasses},[(0,ca.h)("canvas",{style:{maxWidth:"100%",maxHeight:"100%"},id:a,width:t.width,height:t.height,ref:s})])}})},Sa=t=>e=>{const n=`${t}ChartRef`,r={[n]:(0,la.iH)()},i=(0,ca.Fl)((()=>ka(wa(wa(wa({},e),e.jsx&&{ref:r[n]}),!e.jsx&&{ref:n}),{chartData:(0,la.SU)(e.chartData),options:(0,la.SU)(e.options)})));function o(){var e;const i=r[n].value;i?null==(e=null==i?void 0:i.chartInstance.value)||e.update():console.warn(`No chartInstance to update (use${pa(t)}Chart)`)}return{[`${t}ChartProps`]:i,[n]:r[n],update:o}},Oa=Ma("bar-chart","bar"),Ca=(Ma("doughnut-chart","doughnut"),Ma("line-chart","line")),Pa=(Ma("pie-chart","pie"),Ma("polar-chart","polarArea"),Ma("radar-chart","radar"),Ma("bubble-chart","bubble"),Ma("scatter-chart","scatter"),Sa("doughnut"),Sa("bar")),Ta=Sa("line");Sa("pie"),Sa("polarArea"),Sa("radar"),Sa("bubble"),Sa("scatter")}}]); +//# sourceMappingURL=chunk-vendors.63e25135.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/chunk-vendors.63e25135.js.map b/fittrackee/dist/static/js/chunk-vendors.63e25135.js.map new file mode 100644 index 00000000..11ae4368 --- /dev/null +++ b/fittrackee/dist/static/js/chunk-vendors.63e25135.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/chunk-vendors.63e25135.js","mappings":"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","sources":["webpack://fittrackee_client/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/helper.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/dateSplits.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/const.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/levenshtein.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/l33tTable.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/translationKeys.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Options.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/matching/reverse.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/matching/l33t.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/utils.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/bruteforce/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/scoring/uppercase.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/scoring/l33t.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/estimate.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/index.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/TimeEstimates.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/bruteforce/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/index.esm.js","webpack://fittrackee_client/./node_modules/axios/index.js","webpack://fittrackee_client/./node_modules/axios/lib/adapters/xhr.js","webpack://fittrackee_client/./node_modules/axios/lib/axios.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/Cancel.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/CancelToken.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/isCancel.js","webpack://fittrackee_client/./node_modules/axios/lib/core/Axios.js","webpack://fittrackee_client/./node_modules/axios/lib/core/InterceptorManager.js","webpack://fittrackee_client/./node_modules/axios/lib/core/buildFullPath.js","webpack://fittrackee_client/./node_modules/axios/lib/core/createError.js","webpack://fittrackee_client/./node_modules/axios/lib/core/dispatchRequest.js","webpack://fittrackee_client/./node_modules/axios/lib/core/enhanceError.js","webpack://fittrackee_client/./node_modules/axios/lib/core/mergeConfig.js","webpack://fittrackee_client/./node_modules/axios/lib/core/settle.js","webpack://fittrackee_client/./node_modules/axios/lib/core/transformData.js","webpack://fittrackee_client/./node_modules/axios/lib/defaults/index.js","webpack://fittrackee_client/./node_modules/axios/lib/defaults/transitional.js","webpack://fittrackee_client/./node_modules/axios/lib/env/data.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/bind.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/buildURL.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/combineURLs.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/cookies.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/spread.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/validator.js","webpack://fittrackee_client/./node_modules/axios/lib/utils.js","webpack://fittrackee_client/./node_modules/chart.js/dist/chart.esm.js","webpack://fittrackee_client/./node_modules/chart.js/dist/chunks/helpers.segment.js","webpack://fittrackee_client/./node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.js","webpack://fittrackee_client/./node_modules/core-js/internals/a-callable.js","webpack://fittrackee_client/./node_modules/core-js/internals/a-possible-prototype.js","webpack://fittrackee_client/./node_modules/core-js/internals/an-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/array-includes.js","webpack://fittrackee_client/./node_modules/core-js/internals/classof-raw.js","webpack://fittrackee_client/./node_modules/core-js/internals/classof.js","webpack://fittrackee_client/./node_modules/core-js/internals/clear-error-stack.js","webpack://fittrackee_client/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://fittrackee_client/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/create-property-descriptor.js","webpack://fittrackee_client/./node_modules/core-js/internals/descriptors.js","webpack://fittrackee_client/./node_modules/core-js/internals/document-create-element.js","webpack://fittrackee_client/./node_modules/core-js/internals/engine-user-agent.js","webpack://fittrackee_client/./node_modules/core-js/internals/engine-v8-version.js","webpack://fittrackee_client/./node_modules/core-js/internals/enum-bug-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/error-stack-installable.js","webpack://fittrackee_client/./node_modules/core-js/internals/export.js","webpack://fittrackee_client/./node_modules/core-js/internals/fails.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-apply.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-bind-native.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-call.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-name.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-uncurry-this.js","webpack://fittrackee_client/./node_modules/core-js/internals/get-built-in.js","webpack://fittrackee_client/./node_modules/core-js/internals/get-method.js","webpack://fittrackee_client/./node_modules/core-js/internals/global.js","webpack://fittrackee_client/./node_modules/core-js/internals/has-own-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/hidden-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/ie8-dom-define.js","webpack://fittrackee_client/./node_modules/core-js/internals/indexed-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/inherit-if-required.js","webpack://fittrackee_client/./node_modules/core-js/internals/inspect-source.js","webpack://fittrackee_client/./node_modules/core-js/internals/install-error-cause.js","webpack://fittrackee_client/./node_modules/core-js/internals/internal-state.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-callable.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-forced.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-pure.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/length-of-array-like.js","webpack://fittrackee_client/./node_modules/core-js/internals/native-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/native-weak-map.js","webpack://fittrackee_client/./node_modules/core-js/internals/normalize-string-argument.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-define-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-keys-internal.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://fittrackee_client/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://fittrackee_client/./node_modules/core-js/internals/own-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/redefine.js","webpack://fittrackee_client/./node_modules/core-js/internals/require-object-coercible.js","webpack://fittrackee_client/./node_modules/core-js/internals/set-global.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared-key.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared-store.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-absolute-index.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-indexed-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-length.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-primitive.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-property-key.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-string-tag-support.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-string.js","webpack://fittrackee_client/./node_modules/core-js/internals/try-to-string.js","webpack://fittrackee_client/./node_modules/core-js/internals/uid.js","webpack://fittrackee_client/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://fittrackee_client/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://fittrackee_client/./node_modules/core-js/internals/well-known-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://fittrackee_client/./node_modules/core-js/modules/es.error.cause.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/addLeadingZeros/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/assign/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/cloneObject/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/format/lightFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/format/longFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCDayOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/protectedTokens/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/requiredArgs/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/toInteger/index.js","webpack://fittrackee_client/./node_modules/date-fns/addMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/toInteger/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addDays/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addWeeks/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addYears/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isValid/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/longFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/protectedTokens/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/format/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/compareAsc/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInCalendarMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isLastDayOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/roundingMethods/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInSeconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/assign/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/cloneObject/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isSameDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isSameMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isToday/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subWeeks/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subYears/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/toDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/format/index.js","webpack://fittrackee_client/./node_modules/date-fns/isDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/isValid/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildFormatLongFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildLocalizeFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildMatchFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildMatchPatternFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/index.js","webpack://fittrackee_client/./node_modules/date-fns/subMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/toDate/index.js","webpack://fittrackee_client/./node_modules/fastest-levenshtein/index.js","webpack://fittrackee_client/./node_modules/pascalcase/node_modules/camelcase/index.js","webpack://fittrackee_client/./node_modules/register-service-worker/index.js","webpack://fittrackee_client/./node_modules/vue-fullscreen/dist/index.es.js","webpack://fittrackee_client/./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/message-resolver/dist/message-resolver.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/runtime/dist/runtime.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","webpack://fittrackee_client/./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","webpack://fittrackee_client/./node_modules/vue-loader/dist/exportHelper.js","webpack://fittrackee_client/./node_modules/vue-router/dist/vue-router.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://fittrackee_client/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/newDateUTC/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzIntlTimeZoneName/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzParseTimezone/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzPattern/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzTokenizeDate/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/format/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/formatInTimeZone/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/getTimezoneOffset/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/toDate/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/utcToZonedTime/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/zonedTimeToUtc/index.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheClear.js","webpack://fittrackee_client/./node_modules/lodash-es/eq.js","webpack://fittrackee_client/./node_modules/lodash-es/_assocIndexOf.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_ListCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_freeGlobal.js","webpack://fittrackee_client/./node_modules/lodash-es/_root.js","webpack://fittrackee_client/./node_modules/lodash-es/_Symbol.js","webpack://fittrackee_client/./node_modules/lodash-es/_getRawTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_objectToString.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseGetTag.js","webpack://fittrackee_client/./node_modules/lodash-es/isObject.js","webpack://fittrackee_client/./node_modules/lodash-es/isFunction.js","webpack://fittrackee_client/./node_modules/lodash-es/_coreJsData.js","webpack://fittrackee_client/./node_modules/lodash-es/_isMasked.js","webpack://fittrackee_client/./node_modules/lodash-es/_toSource.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsNative.js","webpack://fittrackee_client/./node_modules/lodash-es/_getValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_getNative.js","webpack://fittrackee_client/./node_modules/lodash-es/_Map.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeCreate.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_Hash.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_isKeyable.js","webpack://fittrackee_client/./node_modules/lodash-es/_getMapData.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_MapCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_Stack.js","webpack://fittrackee_client/./node_modules/lodash-es/_setCacheAdd.js","webpack://fittrackee_client/./node_modules/lodash-es/_setCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_SetCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_arraySome.js","webpack://fittrackee_client/./node_modules/lodash-es/_cacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalArrays.js","webpack://fittrackee_client/./node_modules/lodash-es/_Uint8Array.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapToArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_setToArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalByTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayPush.js","webpack://fittrackee_client/./node_modules/lodash-es/isArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseGetAllKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayFilter.js","webpack://fittrackee_client/./node_modules/lodash-es/stubArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_getSymbols.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseTimes.js","webpack://fittrackee_client/./node_modules/lodash-es/isObjectLike.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsArguments.js","webpack://fittrackee_client/./node_modules/lodash-es/isArguments.js","webpack://fittrackee_client/./node_modules/lodash-es/stubFalse.js","webpack://fittrackee_client/./node_modules/lodash-es/isBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_isIndex.js","webpack://fittrackee_client/./node_modules/lodash-es/isLength.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseUnary.js","webpack://fittrackee_client/./node_modules/lodash-es/_nodeUtil.js","webpack://fittrackee_client/./node_modules/lodash-es/isTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayLikeKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_isPrototype.js","webpack://fittrackee_client/./node_modules/lodash-es/_overArg.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/isArrayLike.js","webpack://fittrackee_client/./node_modules/lodash-es/keys.js","webpack://fittrackee_client/./node_modules/lodash-es/_getAllKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalObjects.js","webpack://fittrackee_client/./node_modules/lodash-es/_DataView.js","webpack://fittrackee_client/./node_modules/lodash-es/_Promise.js","webpack://fittrackee_client/./node_modules/lodash-es/_Set.js","webpack://fittrackee_client/./node_modules/lodash-es/_WeakMap.js","webpack://fittrackee_client/./node_modules/lodash-es/_getTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsEqualDeep.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsEqual.js","webpack://fittrackee_client/./node_modules/lodash-es/isEqual.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayEach.js","webpack://fittrackee_client/./node_modules/lodash-es/_defineProperty.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssignValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_assignValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_copyObject.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssign.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/keysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssignIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_copyArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_copySymbols.js","webpack://fittrackee_client/./node_modules/lodash-es/_getPrototype.js","webpack://fittrackee_client/./node_modules/lodash-es/_getSymbolsIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_copySymbolsIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_getAllKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneArrayBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneDataView.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneRegExp.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneSymbol.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneByTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseCreate.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneObject.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsMap.js","webpack://fittrackee_client/./node_modules/lodash-es/isMap.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsSet.js","webpack://fittrackee_client/./node_modules/lodash-es/isSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseClone.js","webpack://fittrackee_client/./node_modules/lodash-es/cloneDeep.js","webpack://fittrackee_client/./node_modules/pascalcase/index.js","webpack://fittrackee_client/./node_modules/vue-chart-3/dist/index.js"],"sourcesContent":["import { extend, isArray, isMap, isIntegerKey, isSymbol, hasOwn, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n this.active = true;\r\n this.effects = [];\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = this.parent;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n }\r\n }\r\n stop() {\r\n if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({\r\n effect: activeEffect\r\n }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n for (const effect of isArray(dep) ? dep : [...dep]) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol)\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - does not apply for Array + integer key.\r\n const shouldUnwrap = !targetIsArray || !isIntegerKey(key);\r\n return shouldUnwrap ? res.value : res;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (key !== rawKey) {\r\n !isReadonly && track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n !isReadonly && track(rawTarget, \"get\" /* GET */, rawKey);\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (key !== rawKey) {\r\n !isReadonly && track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n !isReadonly && track(rawTarget, \"has\" /* HAS */, rawKey);\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only a whitelist of value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, reactive, shallowReactive, trigger, isProxy, shallowReadonly, track, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, def, isReservedProp, EMPTY_ARR, capitalize, toRawType, makeMap, isBuiltInDirective, NO, normalizeClass, normalizeStyle, isGloballyWhitelisted } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n // eslint-disable-next-line no-restricted-globals\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n else if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(options || {}, { flush: 'post' })\r\n : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(options || {}, { flush: 'sync' })\r\n : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(isReactive);\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => {\r\n if (!instance || instance.isMounted) {\r\n queuePreFlushCb(job);\r\n }\r\n else {\r\n // with 'pre' option, the first call must happen before\r\n // the component is mounted so it is called synchronously.\r\n job();\r\n }\r\n };\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n // warn multiple elements\r\n if ((process.env.NODE_ENV !== 'production') && children.length > 1) {\r\n warn(' can only be used on a single element or component. Use ' +\r\n ' for lists.');\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' && mode !== 'out-in' && mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n // at this point children has a guaranteed length of 1.\r\n const child = children[0];\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n hook(el, done);\r\n if (hook.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n onLeave(el, done);\r\n if (onLeave.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n // handle fragment children case, e.g. v-for\r\n if (child.type === Fragment) {\r\n if (child.patchFlag & 128 /* KEYED_FRAGMENT */)\r\n keyedFragmentCount++;\r\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment));\r\n }\r\n // comment placeholders should be skipped, e.g. v-if\r\n else if (keepComment || child.type !== Comment) {\r\n ret.push(child);\r\n }\r\n }\r\n // #1126 if a transition children list contains multiple sub fragments, these\r\n // fragments will be merged into a flat children array. Since each v-for\r\n // fragment may contain different static bindings inside, we need to de-op\r\n // these children to force full diffs to ensure correct behavior.\r\n if (keyedFragmentCount > 1) {\r\n for (let i = 0; i < ret.length; i++) {\r\n ret[i].patchFlag = -2 /* BAIL */;\r\n }\r\n }\r\n return ret;\r\n}\n\n// implementation, close to no-op\r\nfunction defineComponent(options) {\r\n return isFunction(options) ? { setup: options, name: options.name } : options;\r\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\r\nfunction defineAsyncComponent(source) {\r\n if (isFunction(source)) {\r\n source = { loader: source };\r\n }\r\n const { loader, loadingComponent, errorComponent, delay = 200, timeout, // undefined = never times out\r\n suspensible = true, onError: userOnError } = source;\r\n let pendingRequest = null;\r\n let resolvedComp;\r\n let retries = 0;\r\n const retry = () => {\r\n retries++;\r\n pendingRequest = null;\r\n return load();\r\n };\r\n const load = () => {\r\n let thisRequest;\r\n return (pendingRequest ||\r\n (thisRequest = pendingRequest =\r\n loader()\r\n .catch(err => {\r\n err = err instanceof Error ? err : new Error(String(err));\r\n if (userOnError) {\r\n return new Promise((resolve, reject) => {\r\n const userRetry = () => resolve(retry());\r\n const userFail = () => reject(err);\r\n userOnError(err, userRetry, userFail, retries + 1);\r\n });\r\n }\r\n else {\r\n throw err;\r\n }\r\n })\r\n .then((comp) => {\r\n if (thisRequest !== pendingRequest && pendingRequest) {\r\n return pendingRequest;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && !comp) {\r\n warn(`Async component loader resolved to undefined. ` +\r\n `If you are using retry(), make sure to return its return value.`);\r\n }\r\n // interop module default\r\n if (comp &&\r\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\r\n comp = comp.default;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && comp && !isObject(comp) && !isFunction(comp)) {\r\n throw new Error(`Invalid async component load result: ${comp}`);\r\n }\r\n resolvedComp = comp;\r\n return comp;\r\n })));\r\n };\r\n return defineComponent({\r\n name: 'AsyncComponentWrapper',\r\n __asyncLoader: load,\r\n get __asyncResolved() {\r\n return resolvedComp;\r\n },\r\n setup() {\r\n const instance = currentInstance;\r\n // already resolved\r\n if (resolvedComp) {\r\n return () => createInnerComp(resolvedComp, instance);\r\n }\r\n const onError = (err) => {\r\n pendingRequest = null;\r\n handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);\r\n };\r\n // suspense-controlled or SSR.\r\n if ((suspensible && instance.suspense) ||\r\n (isInSSRComponentSetup)) {\r\n return load()\r\n .then(comp => {\r\n return () => createInnerComp(comp, instance);\r\n })\r\n .catch(err => {\r\n onError(err);\r\n return () => errorComponent\r\n ? createVNode(errorComponent, {\r\n error: err\r\n })\r\n : null;\r\n });\r\n }\r\n const loaded = ref(false);\r\n const error = ref();\r\n const delayed = ref(!!delay);\r\n if (delay) {\r\n setTimeout(() => {\r\n delayed.value = false;\r\n }, delay);\r\n }\r\n if (timeout != null) {\r\n setTimeout(() => {\r\n if (!loaded.value && !error.value) {\r\n const err = new Error(`Async component timed out after ${timeout}ms.`);\r\n onError(err);\r\n error.value = err;\r\n }\r\n }, timeout);\r\n }\r\n load()\r\n .then(() => {\r\n loaded.value = true;\r\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\r\n // parent is keep-alive, force update so the loaded component's\r\n // name is taken into account\r\n queueJob(instance.parent.update);\r\n }\r\n })\r\n .catch(err => {\r\n onError(err);\r\n error.value = err;\r\n });\r\n return () => {\r\n if (loaded.value && resolvedComp) {\r\n return createInnerComp(resolvedComp, instance);\r\n }\r\n else if (error.value && errorComponent) {\r\n return createVNode(errorComponent, {\r\n error: error.value\r\n });\r\n }\r\n else if (loadingComponent && !delayed.value) {\r\n return createVNode(loadingComponent);\r\n }\r\n };\r\n }\r\n });\r\n}\r\nfunction createInnerComp(comp, { vnode: { ref, props, children } }) {\r\n const vnode = createVNode(comp, props, children);\r\n // ensure inner component inherits the async wrapper's ref owner\r\n vnode.ref = ref;\r\n return vnode;\r\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nconst KeepAliveImpl = {\r\n name: `KeepAlive`,\r\n // Marker for special handling inside the renderer. We are not using a ===\r\n // check directly on KeepAlive in the renderer, because importing it directly\r\n // would prevent it from being tree-shaken.\r\n __isKeepAlive: true,\r\n props: {\r\n include: [String, RegExp, Array],\r\n exclude: [String, RegExp, Array],\r\n max: [String, Number]\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n // KeepAlive communicates with the instantiated renderer via the\r\n // ctx where the renderer passes in its internals,\r\n // and the KeepAlive instance exposes activate/deactivate implementations.\r\n // The whole point of this is to avoid importing KeepAlive directly in the\r\n // renderer to facilitate tree-shaking.\r\n const sharedContext = instance.ctx;\r\n // if the internal renderer is not registered, it indicates that this is server-side rendering,\r\n // for KeepAlive, we just need to render its children\r\n if (!sharedContext.renderer) {\r\n return slots.default;\r\n }\r\n const cache = new Map();\r\n const keys = new Set();\r\n let current = null;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n instance.__v_cache = cache;\r\n }\r\n const parentSuspense = instance.suspense;\r\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\r\n const storageContainer = createElement('div');\r\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\r\n const instance = vnode.component;\r\n move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);\r\n // in case props have changed\r\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, vnode.slotScopeIds, optimized);\r\n queuePostRenderEffect(() => {\r\n instance.isDeactivated = false;\r\n if (instance.a) {\r\n invokeArrayFns(instance.a);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n sharedContext.deactivate = (vnode) => {\r\n const instance = vnode.component;\r\n move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);\r\n queuePostRenderEffect(() => {\r\n if (instance.da) {\r\n invokeArrayFns(instance.da);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n instance.isDeactivated = true;\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n function unmount(vnode) {\r\n // reset the shapeFlag so it can be properly unmounted\r\n resetShapeFlag(vnode);\r\n _unmount(vnode, instance, parentSuspense, true);\r\n }\r\n function pruneCache(filter) {\r\n cache.forEach((vnode, key) => {\r\n const name = getComponentName(vnode.type);\r\n if (name && (!filter || !filter(name))) {\r\n pruneCacheEntry(key);\r\n }\r\n });\r\n }\r\n function pruneCacheEntry(key) {\r\n const cached = cache.get(key);\r\n if (!current || cached.type !== current.type) {\r\n unmount(cached);\r\n }\r\n else if (current) {\r\n // current active instance should no longer be kept-alive.\r\n // we can't unmount it now but it might be later, so reset its flag now.\r\n resetShapeFlag(current);\r\n }\r\n cache.delete(key);\r\n keys.delete(key);\r\n }\r\n // prune cache on include/exclude prop change\r\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\r\n include && pruneCache(name => matches(include, name));\r\n exclude && pruneCache(name => !matches(exclude, name));\r\n }, \r\n // prune post-render after `current` has been updated\r\n { flush: 'post', deep: true });\r\n // cache sub tree after render\r\n let pendingCacheKey = null;\r\n const cacheSubtree = () => {\r\n // fix #1621, the pendingCacheKey could be 0\r\n if (pendingCacheKey != null) {\r\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\r\n }\r\n };\r\n onMounted(cacheSubtree);\r\n onUpdated(cacheSubtree);\r\n onBeforeUnmount(() => {\r\n cache.forEach(cached => {\r\n const { subTree, suspense } = instance;\r\n const vnode = getInnerChild(subTree);\r\n if (cached.type === vnode.type) {\r\n // current instance will be unmounted as part of keep-alive's unmount\r\n resetShapeFlag(vnode);\r\n // but invoke its deactivated hook here\r\n const da = vnode.component.da;\r\n da && queuePostRenderEffect(da, suspense);\r\n return;\r\n }\r\n unmount(cached);\r\n });\r\n });\r\n return () => {\r\n pendingCacheKey = null;\r\n if (!slots.default) {\r\n return null;\r\n }\r\n const children = slots.default();\r\n const rawVNode = children[0];\r\n if (children.length > 1) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`KeepAlive should contain exactly one component child.`);\r\n }\r\n current = null;\r\n return children;\r\n }\r\n else if (!isVNode(rawVNode) ||\r\n (!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&\r\n !(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {\r\n current = null;\r\n return rawVNode;\r\n }\r\n let vnode = getInnerChild(rawVNode);\r\n const comp = vnode.type;\r\n // for async components, name check should be based in its loaded\r\n // inner component if available\r\n const name = getComponentName(isAsyncWrapper(vnode)\r\n ? vnode.type.__asyncResolved || {}\r\n : comp);\r\n const { include, exclude, max } = props;\r\n if ((include && (!name || !matches(include, name))) ||\r\n (exclude && name && matches(exclude, name))) {\r\n current = vnode;\r\n return rawVNode;\r\n }\r\n const key = vnode.key == null ? comp : vnode.key;\r\n const cachedVNode = cache.get(key);\r\n // clone vnode if it's reused because we are going to mutate it\r\n if (vnode.el) {\r\n vnode = cloneVNode(vnode);\r\n if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {\r\n rawVNode.ssContent = vnode;\r\n }\r\n }\r\n // #1513 it's possible for the returned vnode to be cloned due to attr\r\n // fallthrough or scopeId, so the vnode here may not be the final vnode\r\n // that is mounted. Instead of caching it directly, we store the pending\r\n // key and cache `instance.subTree` (the normalized vnode) in\r\n // beforeMount/beforeUpdate hooks.\r\n pendingCacheKey = key;\r\n if (cachedVNode) {\r\n // copy over mounted state\r\n vnode.el = cachedVNode.el;\r\n vnode.component = cachedVNode.component;\r\n if (vnode.transition) {\r\n // recursively update transition hooks on subTree\r\n setTransitionHooks(vnode, vnode.transition);\r\n }\r\n // avoid vnode being mounted as fresh\r\n vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;\r\n // make this key the freshest\r\n keys.delete(key);\r\n keys.add(key);\r\n }\r\n else {\r\n keys.add(key);\r\n // prune oldest entry\r\n if (max && keys.size > parseInt(max, 10)) {\r\n pruneCacheEntry(keys.values().next().value);\r\n }\r\n }\r\n // avoid vnode being unmounted\r\n vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n current = vnode;\r\n return rawVNode;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst KeepAlive = KeepAliveImpl;\r\nfunction matches(pattern, name) {\r\n if (isArray(pattern)) {\r\n return pattern.some((p) => matches(p, name));\r\n }\r\n else if (isString(pattern)) {\r\n return pattern.split(',').includes(name);\r\n }\r\n else if (pattern.test) {\r\n return pattern.test(name);\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n}\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\" /* ACTIVATED */, target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\" /* DEACTIVATED */, target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n // cache the deactivate branch check wrapper for injected hooks so the same\r\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\r\n // deactivation check\".\r\n const wrappedHook = hook.__wdc ||\r\n (hook.__wdc = () => {\r\n // only fire the hook if the target instance is NOT in a deactivated branch.\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n return hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n // In addition to registering it on the target instance, we walk up the parent\r\n // chain and register it on all ancestor instances that are keep-alive roots.\r\n // This avoids the need to walk the entire component tree when invoking these\r\n // hooks, and more importantly, avoids the need to track child components in\r\n // arrays.\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n // injectHook wraps the original for error handling, so make sure to remove\r\n // the wrapped version.\r\n const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\nfunction resetShapeFlag(vnode) {\r\n let shapeFlag = vnode.shapeFlag;\r\n if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {\r\n shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n }\r\n if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {\r\n shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;\r\n }\r\n vnode.shapeFlag = shapeFlag;\r\n}\r\nfunction getInnerChild(vnode) {\r\n return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;\r\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n const hooks = target[type] || (target[type] = []);\r\n // cache the error handling wrapper for injected hooks so the same hook\r\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\r\n // handling\".\r\n const wrappedHook = hook.__weh ||\r\n (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n // Set currentInstance during hook invocation.\r\n // This assumes the hook does not synchronously trigger other hooks, which\r\n // can only be false when the user does something really funky.\r\n setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n unsetCurrentInstance();\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n }\r\n else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));\r\n warn(`${apiName} is called when there is no active component instance to be ` +\r\n `associated with. ` +\r\n `Lifecycle injection APIs can only be used during execution of setup().` +\r\n (` If you are using async setup(), make sure to register lifecycle ` +\r\n `hooks before the first await statement.`\r\n ));\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \r\n// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\r\n(!isInSSRComponentSetup || lifecycle === \"sp\" /* SERVER_PREFETCH */) &&\r\n injectHook(lifecycle, hook, target);\r\nconst onBeforeMount = createHook(\"bm\" /* BEFORE_MOUNT */);\r\nconst onMounted = createHook(\"m\" /* MOUNTED */);\r\nconst onBeforeUpdate = createHook(\"bu\" /* BEFORE_UPDATE */);\r\nconst onUpdated = createHook(\"u\" /* UPDATED */);\r\nconst onBeforeUnmount = createHook(\"bum\" /* BEFORE_UNMOUNT */);\r\nconst onUnmounted = createHook(\"um\" /* UNMOUNTED */);\r\nconst onServerPrefetch = createHook(\"sp\" /* SERVER_PREFETCH */);\r\nconst onRenderTriggered = createHook(\"rtg\" /* RENDER_TRIGGERED */);\r\nconst onRenderTracked = createHook(\"rtc\" /* RENDER_TRACKED */);\r\nfunction onErrorCaptured(hook, target = currentInstance) {\r\n injectHook(\"ec\" /* ERROR_CAPTURED */, hook, target);\r\n}\n\nfunction createDuplicateChecker() {\r\n const cache = Object.create(null);\r\n return (type, key) => {\r\n if (cache[key]) {\r\n warn(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\r\n }\r\n else {\r\n cache[key] = type;\r\n }\r\n };\r\n}\r\nlet shouldCacheAccess = true;\r\nfunction applyOptions(instance) {\r\n const options = resolveMergedOptions(instance);\r\n const publicThis = instance.proxy;\r\n const ctx = instance.ctx;\r\n // do not cache property access on public proxy during state initialization\r\n shouldCacheAccess = false;\r\n // call beforeCreate first before accessing other options since\r\n // the hook may mutate resolved options (#2791)\r\n if (options.beforeCreate) {\r\n callHook(options.beforeCreate, instance, \"bc\" /* BEFORE_CREATE */);\r\n }\r\n const { \r\n // state\r\n data: dataOptions, computed: computedOptions, methods, watch: watchOptions, provide: provideOptions, inject: injectOptions, \r\n // lifecycle\r\n created, beforeMount, mounted, beforeUpdate, updated, activated, deactivated, beforeDestroy, beforeUnmount, destroyed, unmounted, render, renderTracked, renderTriggered, errorCaptured, serverPrefetch, \r\n // public API\r\n expose, inheritAttrs, \r\n // assets\r\n components, directives, filters } = options;\r\n const checkDuplicateProperties = (process.env.NODE_ENV !== 'production') ? createDuplicateChecker() : null;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const [propsOptions] = instance.propsOptions;\r\n if (propsOptions) {\r\n for (const key in propsOptions) {\r\n checkDuplicateProperties(\"Props\" /* PROPS */, key);\r\n }\r\n }\r\n }\r\n // options initialization order (to be consistent with Vue 2):\r\n // - props (already done outside of this function)\r\n // - inject\r\n // - methods\r\n // - data (deferred since it relies on `this` access)\r\n // - computed\r\n // - watch (deferred since it relies on `this` access)\r\n if (injectOptions) {\r\n resolveInjections(injectOptions, ctx, checkDuplicateProperties, instance.appContext.config.unwrapInjectedRef);\r\n }\r\n if (methods) {\r\n for (const key in methods) {\r\n const methodHandler = methods[key];\r\n if (isFunction(methodHandler)) {\r\n // In dev mode, we use the `createRenderContext` function to define\r\n // methods to the proxy target, and those are read-only but\r\n // reconfigurable, so it needs to be redefined here\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n Object.defineProperty(ctx, key, {\r\n value: methodHandler.bind(publicThis),\r\n configurable: true,\r\n enumerable: true,\r\n writable: true\r\n });\r\n }\r\n else {\r\n ctx[key] = methodHandler.bind(publicThis);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkDuplicateProperties(\"Methods\" /* METHODS */, key);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. ` +\r\n `Did you reference the function correctly?`);\r\n }\r\n }\r\n }\r\n if (dataOptions) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(dataOptions)) {\r\n warn(`The data option must be a function. ` +\r\n `Plain object usage is no longer supported.`);\r\n }\r\n const data = dataOptions.call(publicThis, publicThis);\r\n if ((process.env.NODE_ENV !== 'production') && isPromise(data)) {\r\n warn(`data() returned a Promise - note data() cannot be async; If you ` +\r\n `intend to perform data fetching before component renders, use ` +\r\n `async setup() + .`);\r\n }\r\n if (!isObject(data)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`data() should return an object.`);\r\n }\r\n else {\r\n instance.data = reactive(data);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n for (const key in data) {\r\n checkDuplicateProperties(\"Data\" /* DATA */, key);\r\n // expose data on ctx during dev\r\n if (key[0] !== '$' && key[0] !== '_') {\r\n Object.defineProperty(ctx, key, {\r\n configurable: true,\r\n enumerable: true,\r\n get: () => data[key],\r\n set: NOOP\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // state initialization complete at this point - start caching access\r\n shouldCacheAccess = true;\r\n if (computedOptions) {\r\n for (const key in computedOptions) {\r\n const opt = computedOptions[key];\r\n const get = isFunction(opt)\r\n ? opt.bind(publicThis, publicThis)\r\n : isFunction(opt.get)\r\n ? opt.get.bind(publicThis, publicThis)\r\n : NOOP;\r\n if ((process.env.NODE_ENV !== 'production') && get === NOOP) {\r\n warn(`Computed property \"${key}\" has no getter.`);\r\n }\r\n const set = !isFunction(opt) && isFunction(opt.set)\r\n ? opt.set.bind(publicThis)\r\n : (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n warn(`Write operation failed: computed property \"${key}\" is readonly.`);\r\n }\r\n : NOOP;\r\n const c = computed({\r\n get,\r\n set\r\n });\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => c.value,\r\n set: v => (c.value = v)\r\n });\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkDuplicateProperties(\"Computed\" /* COMPUTED */, key);\r\n }\r\n }\r\n }\r\n if (watchOptions) {\r\n for (const key in watchOptions) {\r\n createWatcher(watchOptions[key], ctx, publicThis, key);\r\n }\r\n }\r\n if (provideOptions) {\r\n const provides = isFunction(provideOptions)\r\n ? provideOptions.call(publicThis)\r\n : provideOptions;\r\n Reflect.ownKeys(provides).forEach(key => {\r\n provide(key, provides[key]);\r\n });\r\n }\r\n if (created) {\r\n callHook(created, instance, \"c\" /* CREATED */);\r\n }\r\n function registerLifecycleHook(register, hook) {\r\n if (isArray(hook)) {\r\n hook.forEach(_hook => register(_hook.bind(publicThis)));\r\n }\r\n else if (hook) {\r\n register(hook.bind(publicThis));\r\n }\r\n }\r\n registerLifecycleHook(onBeforeMount, beforeMount);\r\n registerLifecycleHook(onMounted, mounted);\r\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\r\n registerLifecycleHook(onUpdated, updated);\r\n registerLifecycleHook(onActivated, activated);\r\n registerLifecycleHook(onDeactivated, deactivated);\r\n registerLifecycleHook(onErrorCaptured, errorCaptured);\r\n registerLifecycleHook(onRenderTracked, renderTracked);\r\n registerLifecycleHook(onRenderTriggered, renderTriggered);\r\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\r\n registerLifecycleHook(onUnmounted, unmounted);\r\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\r\n if (isArray(expose)) {\r\n if (expose.length) {\r\n const exposed = instance.exposed || (instance.exposed = {});\r\n expose.forEach(key => {\r\n Object.defineProperty(exposed, key, {\r\n get: () => publicThis[key],\r\n set: val => (publicThis[key] = val)\r\n });\r\n });\r\n }\r\n else if (!instance.exposed) {\r\n instance.exposed = {};\r\n }\r\n }\r\n // options that are handled when creating the instance but also need to be\r\n // applied from mixins\r\n if (render && instance.render === NOOP) {\r\n instance.render = render;\r\n }\r\n if (inheritAttrs != null) {\r\n instance.inheritAttrs = inheritAttrs;\r\n }\r\n // asset options.\r\n if (components)\r\n instance.components = components;\r\n if (directives)\r\n instance.directives = directives;\r\n}\r\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP, unwrapRef = false) {\r\n if (isArray(injectOptions)) {\r\n injectOptions = normalizeInject(injectOptions);\r\n }\r\n for (const key in injectOptions) {\r\n const opt = injectOptions[key];\r\n let injected;\r\n if (isObject(opt)) {\r\n if ('default' in opt) {\r\n injected = inject(opt.from || key, opt.default, true /* treat default function as factory */);\r\n }\r\n else {\r\n injected = inject(opt.from || key);\r\n }\r\n }\r\n else {\r\n injected = inject(opt);\r\n }\r\n if (isRef(injected)) {\r\n // TODO remove the check in 3.3\r\n if (unwrapRef) {\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => injected.value,\r\n set: v => (injected.value = v)\r\n });\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injected property \"${key}\" is a ref and will be auto-unwrapped ` +\r\n `and no longer needs \\`.value\\` in the next minor release. ` +\r\n `To opt-in to the new behavior now, ` +\r\n `set \\`app.config.unwrapInjectedRef = true\\` (this config is ` +\r\n `temporary and will not be needed in the future.)`);\r\n }\r\n ctx[key] = injected;\r\n }\r\n }\r\n else {\r\n ctx[key] = injected;\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkDuplicateProperties(\"Inject\" /* INJECT */, key);\r\n }\r\n }\r\n}\r\nfunction callHook(hook, instance, type) {\r\n callWithAsyncErrorHandling(isArray(hook)\r\n ? hook.map(h => h.bind(instance.proxy))\r\n : hook.bind(instance.proxy), instance, type);\r\n}\r\nfunction createWatcher(raw, ctx, publicThis, key) {\r\n const getter = key.includes('.')\r\n ? createPathGetter(publicThis, key)\r\n : () => publicThis[key];\r\n if (isString(raw)) {\r\n const handler = ctx[raw];\r\n if (isFunction(handler)) {\r\n watch(getter, handler);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid watch handler specified by key \"${raw}\"`, handler);\r\n }\r\n }\r\n else if (isFunction(raw)) {\r\n watch(getter, raw.bind(publicThis));\r\n }\r\n else if (isObject(raw)) {\r\n if (isArray(raw)) {\r\n raw.forEach(r => createWatcher(r, ctx, publicThis, key));\r\n }\r\n else {\r\n const handler = isFunction(raw.handler)\r\n ? raw.handler.bind(publicThis)\r\n : ctx[raw.handler];\r\n if (isFunction(handler)) {\r\n watch(getter, handler, raw);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\r\n }\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid watch option: \"${key}\"`, raw);\r\n }\r\n}\r\n/**\r\n * Resolve merged options and cache it on the component.\r\n * This is done only once per-component since the merging does not involve\r\n * instances.\r\n */\r\nfunction resolveMergedOptions(instance) {\r\n const base = instance.type;\r\n const { mixins, extends: extendsOptions } = base;\r\n const { mixins: globalMixins, optionsCache: cache, config: { optionMergeStrategies } } = instance.appContext;\r\n const cached = cache.get(base);\r\n let resolved;\r\n if (cached) {\r\n resolved = cached;\r\n }\r\n else if (!globalMixins.length && !mixins && !extendsOptions) {\r\n {\r\n resolved = base;\r\n }\r\n }\r\n else {\r\n resolved = {};\r\n if (globalMixins.length) {\r\n globalMixins.forEach(m => mergeOptions(resolved, m, optionMergeStrategies, true));\r\n }\r\n mergeOptions(resolved, base, optionMergeStrategies);\r\n }\r\n cache.set(base, resolved);\r\n return resolved;\r\n}\r\nfunction mergeOptions(to, from, strats, asMixin = false) {\r\n const { mixins, extends: extendsOptions } = from;\r\n if (extendsOptions) {\r\n mergeOptions(to, extendsOptions, strats, true);\r\n }\r\n if (mixins) {\r\n mixins.forEach((m) => mergeOptions(to, m, strats, true));\r\n }\r\n for (const key in from) {\r\n if (asMixin && key === 'expose') {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`\"expose\" option is ignored when declared in mixins or extends. ` +\r\n `It should only be declared in the base component itself.`);\r\n }\r\n else {\r\n const strat = internalOptionMergeStrats[key] || (strats && strats[key]);\r\n to[key] = strat ? strat(to[key], from[key]) : from[key];\r\n }\r\n }\r\n return to;\r\n}\r\nconst internalOptionMergeStrats = {\r\n data: mergeDataFn,\r\n props: mergeObjectOptions,\r\n emits: mergeObjectOptions,\r\n // objects\r\n methods: mergeObjectOptions,\r\n computed: mergeObjectOptions,\r\n // lifecycle\r\n beforeCreate: mergeAsArray,\r\n created: mergeAsArray,\r\n beforeMount: mergeAsArray,\r\n mounted: mergeAsArray,\r\n beforeUpdate: mergeAsArray,\r\n updated: mergeAsArray,\r\n beforeDestroy: mergeAsArray,\r\n beforeUnmount: mergeAsArray,\r\n destroyed: mergeAsArray,\r\n unmounted: mergeAsArray,\r\n activated: mergeAsArray,\r\n deactivated: mergeAsArray,\r\n errorCaptured: mergeAsArray,\r\n serverPrefetch: mergeAsArray,\r\n // assets\r\n components: mergeObjectOptions,\r\n directives: mergeObjectOptions,\r\n // watch\r\n watch: mergeWatchOptions,\r\n // provide / inject\r\n provide: mergeDataFn,\r\n inject: mergeInject\r\n};\r\nfunction mergeDataFn(to, from) {\r\n if (!from) {\r\n return to;\r\n }\r\n if (!to) {\r\n return from;\r\n }\r\n return function mergedDataFn() {\r\n return (extend)(isFunction(to) ? to.call(this, this) : to, isFunction(from) ? from.call(this, this) : from);\r\n };\r\n}\r\nfunction mergeInject(to, from) {\r\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\r\n}\r\nfunction normalizeInject(raw) {\r\n if (isArray(raw)) {\r\n const res = {};\r\n for (let i = 0; i < raw.length; i++) {\r\n res[raw[i]] = raw[i];\r\n }\r\n return res;\r\n }\r\n return raw;\r\n}\r\nfunction mergeAsArray(to, from) {\r\n return to ? [...new Set([].concat(to, from))] : from;\r\n}\r\nfunction mergeObjectOptions(to, from) {\r\n return to ? extend(extend(Object.create(null), to), from) : from;\r\n}\r\nfunction mergeWatchOptions(to, from) {\r\n if (!to)\r\n return from;\r\n if (!from)\r\n return to;\r\n const merged = extend(Object.create(null), to);\r\n for (const key in from) {\r\n merged[key] = mergeAsArray(to[key], from[key]);\r\n }\r\n return merged;\r\n}\n\nfunction initProps(instance, rawProps, isStateful, // result of bitwise flag comparison\r\nisSSR = false) {\r\n const props = {};\r\n const attrs = {};\r\n def(attrs, InternalObjectKey, 1);\r\n instance.propsDefaults = Object.create(null);\r\n setFullProps(instance, rawProps, props, attrs);\r\n // ensure all declared prop keys are present\r\n for (const key in instance.propsOptions[0]) {\r\n if (!(key in props)) {\r\n props[key] = undefined;\r\n }\r\n }\r\n // validation\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n if (isStateful) {\r\n // stateful\r\n instance.props = isSSR ? props : shallowReactive(props);\r\n }\r\n else {\r\n if (!instance.type.props) {\r\n // functional w/ optional props, props === attrs\r\n instance.props = attrs;\r\n }\r\n else {\r\n // functional w/ declared props\r\n instance.props = props;\r\n }\r\n }\r\n instance.attrs = attrs;\r\n}\r\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\r\n const { props, attrs, vnode: { patchFlag } } = instance;\r\n const rawCurrentProps = toRaw(props);\r\n const [options] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n if (\r\n // always force full diff in dev\r\n // - #1942 if hmr is enabled with sfc component\r\n // - vite#872 non-sfc component used by sfc component\r\n !((process.env.NODE_ENV !== 'production') &&\r\n (instance.type.__hmrId ||\r\n (instance.parent && instance.parent.type.__hmrId))) &&\r\n (optimized || patchFlag > 0) &&\r\n !(patchFlag & 16 /* FULL_PROPS */)) {\r\n if (patchFlag & 8 /* PROPS */) {\r\n // Compiler-generated props & no keys change, just set the updated\r\n // the props.\r\n const propsToUpdate = instance.vnode.dynamicProps;\r\n for (let i = 0; i < propsToUpdate.length; i++) {\r\n let key = propsToUpdate[i];\r\n // PROPS flag guarantees rawProps to be non-null\r\n const value = rawProps[key];\r\n if (options) {\r\n // attr / props separation was done on init and will be consistent\r\n // in this code path, so just check if attrs have it.\r\n if (hasOwn(attrs, key)) {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n else {\r\n const camelizedKey = camelize(key);\r\n props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false /* isAbsent */);\r\n }\r\n }\r\n else {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // full props update.\r\n if (setFullProps(instance, rawProps, props, attrs)) {\r\n hasAttrsChanged = true;\r\n }\r\n // in case of dynamic props, check if we need to delete keys from\r\n // the props object\r\n let kebabKey;\r\n for (const key in rawCurrentProps) {\r\n if (!rawProps ||\r\n // for camelCase\r\n (!hasOwn(rawProps, key) &&\r\n // it's possible the original props was passed in as kebab-case\r\n // and converted to camelCase (#955)\r\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {\r\n if (options) {\r\n if (rawPrevProps &&\r\n // for camelCase\r\n (rawPrevProps[key] !== undefined ||\r\n // for kebab-case\r\n rawPrevProps[kebabKey] !== undefined)) {\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, undefined, instance, true /* isAbsent */);\r\n }\r\n }\r\n else {\r\n delete props[key];\r\n }\r\n }\r\n }\r\n // in the case of functional component w/o props declaration, props and\r\n // attrs point to the same object so it should already have been updated.\r\n if (attrs !== rawCurrentProps) {\r\n for (const key in attrs) {\r\n if (!rawProps ||\r\n (!hasOwn(rawProps, key) &&\r\n (!false ))) {\r\n delete attrs[key];\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n // trigger updates for $attrs in case it's used in component slots\r\n if (hasAttrsChanged) {\r\n trigger(instance, \"set\" /* SET */, '$attrs');\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n}\r\nfunction setFullProps(instance, rawProps, props, attrs) {\r\n const [options, needCastKeys] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n let rawCastValues;\r\n if (rawProps) {\r\n for (let key in rawProps) {\r\n // key, ref are reserved and never passed down\r\n if (isReservedProp(key)) {\r\n continue;\r\n }\r\n const value = rawProps[key];\r\n // prop option names are camelized during normalization, so to support\r\n // kebab -> camel conversion here we need to camelize the key.\r\n let camelKey;\r\n if (options && hasOwn(options, (camelKey = camelize(key)))) {\r\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\r\n props[camelKey] = value;\r\n }\r\n else {\r\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\r\n }\r\n }\r\n else if (!isEmitListener(instance.emitsOptions, key)) {\r\n if (!(key in attrs) || value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n if (needCastKeys) {\r\n const rawCurrentProps = toRaw(props);\r\n const castValues = rawCastValues || EMPTY_OBJ;\r\n for (let i = 0; i < needCastKeys.length; i++) {\r\n const key = needCastKeys[i];\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !hasOwn(castValues, key));\r\n }\r\n }\r\n return hasAttrsChanged;\r\n}\r\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\r\n const opt = options[key];\r\n if (opt != null) {\r\n const hasDefault = hasOwn(opt, 'default');\r\n // default values\r\n if (hasDefault && value === undefined) {\r\n const defaultValue = opt.default;\r\n if (opt.type !== Function && isFunction(defaultValue)) {\r\n const { propsDefaults } = instance;\r\n if (key in propsDefaults) {\r\n value = propsDefaults[key];\r\n }\r\n else {\r\n setCurrentInstance(instance);\r\n value = propsDefaults[key] = defaultValue.call(null, props);\r\n unsetCurrentInstance();\r\n }\r\n }\r\n else {\r\n value = defaultValue;\r\n }\r\n }\r\n // boolean casting\r\n if (opt[0 /* shouldCast */]) {\r\n if (isAbsent && !hasDefault) {\r\n value = false;\r\n }\r\n else if (opt[1 /* shouldCastTrue */] &&\r\n (value === '' || value === hyphenate(key))) {\r\n value = true;\r\n }\r\n }\r\n }\r\n return value;\r\n}\r\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.propsCache;\r\n const cached = cache.get(comp);\r\n if (cached) {\r\n return cached;\r\n }\r\n const raw = comp.props;\r\n const normalized = {};\r\n const needCastKeys = [];\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendProps = (raw) => {\r\n hasExtends = true;\r\n const [props, keys] = normalizePropsOptions(raw, appContext, true);\r\n extend(normalized, props);\r\n if (keys)\r\n needCastKeys.push(...keys);\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendProps);\r\n }\r\n if (comp.extends) {\r\n extendProps(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendProps);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, EMPTY_ARR);\r\n return EMPTY_ARR;\r\n }\r\n if (isArray(raw)) {\r\n for (let i = 0; i < raw.length; i++) {\r\n if ((process.env.NODE_ENV !== 'production') && !isString(raw[i])) {\r\n warn(`props must be strings when using array syntax.`, raw[i]);\r\n }\r\n const normalizedKey = camelize(raw[i]);\r\n if (validatePropName(normalizedKey)) {\r\n normalized[normalizedKey] = EMPTY_OBJ;\r\n }\r\n }\r\n }\r\n else if (raw) {\r\n if ((process.env.NODE_ENV !== 'production') && !isObject(raw)) {\r\n warn(`invalid props options`, raw);\r\n }\r\n for (const key in raw) {\r\n const normalizedKey = camelize(key);\r\n if (validatePropName(normalizedKey)) {\r\n const opt = raw[key];\r\n const prop = (normalized[normalizedKey] =\r\n isArray(opt) || isFunction(opt) ? { type: opt } : opt);\r\n if (prop) {\r\n const booleanIndex = getTypeIndex(Boolean, prop.type);\r\n const stringIndex = getTypeIndex(String, prop.type);\r\n prop[0 /* shouldCast */] = booleanIndex > -1;\r\n prop[1 /* shouldCastTrue */] =\r\n stringIndex < 0 || booleanIndex < stringIndex;\r\n // if the prop needs boolean casting or default value\r\n if (booleanIndex > -1 || hasOwn(prop, 'default')) {\r\n needCastKeys.push(normalizedKey);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n const res = [normalized, needCastKeys];\r\n cache.set(comp, res);\r\n return res;\r\n}\r\nfunction validatePropName(key) {\r\n if (key[0] !== '$') {\r\n return true;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid prop name: \"${key}\" is a reserved property.`);\r\n }\r\n return false;\r\n}\r\n// use function string name to check type constructors\r\n// so that it works across vms / iframes.\r\nfunction getType(ctor) {\r\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\r\n return match ? match[1] : ctor === null ? 'null' : '';\r\n}\r\nfunction isSameType(a, b) {\r\n return getType(a) === getType(b);\r\n}\r\nfunction getTypeIndex(type, expectedTypes) {\r\n if (isArray(expectedTypes)) {\r\n return expectedTypes.findIndex(t => isSameType(t, type));\r\n }\r\n else if (isFunction(expectedTypes)) {\r\n return isSameType(expectedTypes, type) ? 0 : -1;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProps(rawProps, props, instance) {\r\n const resolvedValues = toRaw(props);\r\n const options = instance.propsOptions[0];\r\n for (const key in options) {\r\n let opt = options[key];\r\n if (opt == null)\r\n continue;\r\n validateProp(key, resolvedValues[key], opt, !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key)));\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProp(name, value, prop, isAbsent) {\r\n const { type, required, validator } = prop;\r\n // required!\r\n if (required && isAbsent) {\r\n warn('Missing required prop: \"' + name + '\"');\r\n return;\r\n }\r\n // missing but optional\r\n if (value == null && !prop.required) {\r\n return;\r\n }\r\n // type check\r\n if (type != null && type !== true) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n // value is valid as long as one of the specified types match\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || '');\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n warn(getInvalidTypeMessage(name, value, expectedTypes));\r\n return;\r\n }\r\n }\r\n // custom validator\r\n if (validator && !validator(value)) {\r\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".');\r\n }\r\n}\r\nconst isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol,BigInt');\r\n/**\r\n * dev only\r\n */\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n // for primitive wrapper objects\r\n if (!valid && t === 'object') {\r\n valid = value instanceof type;\r\n }\r\n }\r\n else if (expectedType === 'Object') {\r\n valid = isObject(value);\r\n }\r\n else if (expectedType === 'Array') {\r\n valid = isArray(value);\r\n }\r\n else if (expectedType === 'null') {\r\n valid = value === null;\r\n }\r\n else {\r\n valid = value instanceof type;\r\n }\r\n return {\r\n valid,\r\n expectedType\r\n };\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n let message = `Invalid prop: type check failed for prop \"${name}\".` +\r\n ` Expected ${expectedTypes.map(capitalize).join(' | ')}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n // check if we need to specify expected value\r\n if (expectedTypes.length === 1 &&\r\n isExplicable(expectedType) &&\r\n !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n // check if we need to specify received value\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction styleValue(value, type) {\r\n if (type === 'String') {\r\n return `\"${value}\"`;\r\n }\r\n else if (type === 'Number') {\r\n return `${Number(value)}`;\r\n }\r\n else {\r\n return `${value}`;\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isExplicable(type) {\r\n const explicitTypes = ['string', 'number', 'boolean'];\r\n return explicitTypes.some(elem => type.toLowerCase() === elem);\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isBoolean(...args) {\r\n return args.some(elem => elem.toLowerCase() === 'boolean');\r\n}\n\nconst isInternalKey = (key) => key[0] === '_' || key === '$stable';\r\nconst normalizeSlotValue = (value) => isArray(value)\r\n ? value.map(normalizeVNode)\r\n : [normalizeVNode(value)];\r\nconst normalizeSlot = (key, rawSlot, ctx) => {\r\n const normalized = withCtx((...args) => {\r\n if ((process.env.NODE_ENV !== 'production') && currentInstance) {\r\n warn(`Slot \"${key}\" invoked outside of the render function: ` +\r\n `this will not track dependencies used in the slot. ` +\r\n `Invoke the slot function inside the render function instead.`);\r\n }\r\n return normalizeSlotValue(rawSlot(...args));\r\n }, ctx);\r\n normalized._c = false;\r\n return normalized;\r\n};\r\nconst normalizeObjectSlots = (rawSlots, slots, instance) => {\r\n const ctx = rawSlots._ctx;\r\n for (const key in rawSlots) {\r\n if (isInternalKey(key))\r\n continue;\r\n const value = rawSlots[key];\r\n if (isFunction(value)) {\r\n slots[key] = normalizeSlot(key, value, ctx);\r\n }\r\n else if (value != null) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !(false )) {\r\n warn(`Non-function value encountered for slot \"${key}\". ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(value);\r\n slots[key] = () => normalized;\r\n }\r\n }\r\n};\r\nconst normalizeVNodeSlots = (instance, children) => {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !isKeepAlive(instance.vnode) &&\r\n !(false )) {\r\n warn(`Non-function value encountered for default slot. ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(children);\r\n instance.slots.default = () => normalized;\r\n};\r\nconst initSlots = (instance, children) => {\r\n if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // users can get the shallow readonly version of the slots object through `this.$slots`,\r\n // we should avoid the proxy object polluting the slots of the internal instance\r\n instance.slots = toRaw(children);\r\n // make compiler marker non-enumerable\r\n def(children, '_', type);\r\n }\r\n else {\r\n normalizeObjectSlots(children, (instance.slots = {}));\r\n }\r\n }\r\n else {\r\n instance.slots = {};\r\n if (children) {\r\n normalizeVNodeSlots(instance, children);\r\n }\r\n }\r\n def(instance.slots, InternalObjectKey, 1);\r\n};\r\nconst updateSlots = (instance, children, optimized) => {\r\n const { vnode, slots } = instance;\r\n let needDeletionCheck = true;\r\n let deletionComparisonTarget = EMPTY_OBJ;\r\n if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // compiled slots.\r\n if ((process.env.NODE_ENV !== 'production') && isHmrUpdating) {\r\n // Parent was HMR updated so slot content may have changed.\r\n // force update slots and mark instance for hmr as well\r\n extend(slots, children);\r\n }\r\n else if (optimized && type === 1 /* STABLE */) {\r\n // compiled AND stable.\r\n // no need to update, and skip stale slots removal.\r\n needDeletionCheck = false;\r\n }\r\n else {\r\n // compiled but dynamic (v-if/v-for on slots) - update slots, but skip\r\n // normalization.\r\n extend(slots, children);\r\n // #2893\r\n // when rendering the optimized slots by manually written render function,\r\n // we need to delete the `slots._` flag if necessary to make subsequent updates reliable,\r\n // i.e. let the `renderSlot` create the bailed Fragment\r\n if (!optimized && type === 1 /* STABLE */) {\r\n delete slots._;\r\n }\r\n }\r\n }\r\n else {\r\n needDeletionCheck = !children.$stable;\r\n normalizeObjectSlots(children, slots);\r\n }\r\n deletionComparisonTarget = children;\r\n }\r\n else if (children) {\r\n // non slot object children (direct value) passed to a component\r\n normalizeVNodeSlots(instance, children);\r\n deletionComparisonTarget = { default: 1 };\r\n }\r\n // delete stale slots\r\n if (needDeletionCheck) {\r\n for (const key in slots) {\r\n if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {\r\n delete slots[key];\r\n }\r\n }\r\n }\r\n};\n\n/**\r\nRuntime helper for applying directives to a vnode. Example usage:\r\n\nconst comp = resolveComponent('comp')\r\nconst foo = resolveDirective('foo')\r\nconst bar = resolveDirective('bar')\r\n\nreturn withDirectives(h(comp), [\r\n [foo, this.x],\r\n [bar, this.y]\r\n])\r\n*/\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn('Do not use built-in directive ids as custom directive id: ' + name);\r\n }\r\n}\r\n/**\r\n * Adds directives to a VNode.\r\n */\r\nfunction withDirectives(vnode, directives) {\r\n const internalInstance = currentRenderingInstance;\r\n if (internalInstance === null) {\r\n (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = internalInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n if (dir.deep) {\r\n traverse(value);\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n return vnode;\r\n}\r\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\r\n const bindings = vnode.dirs;\r\n const oldBindings = prevVNode && prevVNode.dirs;\r\n for (let i = 0; i < bindings.length; i++) {\r\n const binding = bindings[i];\r\n if (oldBindings) {\r\n binding.oldValue = oldBindings[i].value;\r\n }\r\n let hook = binding.dir[name];\r\n if (hook) {\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [\r\n vnode.el,\r\n binding,\r\n vnode,\r\n prevVNode\r\n ]);\r\n resetTracking();\r\n }\r\n }\r\n}\n\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n errorHandler: undefined,\r\n warnHandler: undefined,\r\n compilerOptions: {}\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: Object.create(null),\r\n optionsCache: new WeakMap(),\r\n propsCache: new WeakMap(),\r\n emitsCache: new WeakMap()\r\n };\r\n}\r\nlet uid = 0;\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (rootProps != null && !isObject(rootProps)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = new Set();\r\n let isMounted = false;\r\n const app = (context.app = {\r\n _uid: uid++,\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n _instance: null,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`app.config cannot be replaced. Modify individual options instead.`);\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Plugin has already been applied to target app.`);\r\n }\r\n else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n }\r\n else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`A plugin must either be a function or an object with an \"install\" ` +\r\n `function.`);\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixin has already been applied to target app' +\r\n (mixin.name ? `: ${mixin.name}` : ''));\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixins are only available in builds supporting Options API');\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.components[name]) {\r\n warn(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.directives[name]) {\r\n warn(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n mount(rootContainer, isHydrate, isSVG) {\r\n if (!isMounted) {\r\n const vnode = createVNode(rootComponent, rootProps);\r\n // store app context on the root VNode.\r\n // this will be set on the root instance on initial mount.\r\n vnode.appContext = context;\r\n // HMR root reload\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.reload = () => {\r\n render(cloneVNode(vnode), rootContainer, isSVG);\r\n };\r\n }\r\n if (isHydrate && hydrate) {\r\n hydrate(vnode, rootContainer);\r\n }\r\n else {\r\n render(vnode, rootContainer, isSVG);\r\n }\r\n isMounted = true;\r\n app._container = rootContainer;\r\n rootContainer.__vue_app__ = app;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n app._instance = vnode.component;\r\n devtoolsInitApp(app, version);\r\n }\r\n return getExposeProxy(vnode.component) || vnode.component.proxy;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`App has already been mounted.\\n` +\r\n `If you want to remount the same app, move your app creation logic ` +\r\n `into a factory function and create fresh app instances for each ` +\r\n `mount - e.g. \\`const createMyApp = () => createApp(App)\\``);\r\n }\r\n },\r\n unmount() {\r\n if (isMounted) {\r\n render(null, app._container);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n app._instance = null;\r\n devtoolsUnmountApp(app);\r\n }\r\n delete app._container.__vue_app__;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot unmount an app that is not mounted.`);\r\n }\r\n },\r\n provide(key, value) {\r\n if ((process.env.NODE_ENV !== 'production') && key in context.provides) {\r\n warn(`App already provides property with key \"${String(key)}\". ` +\r\n `It will be overwritten with the new value.`);\r\n }\r\n // TypeScript doesn't allow symbols as index type\r\n // https://github.com/Microsoft/TypeScript/issues/24587\r\n context.provides[key] = value;\r\n return app;\r\n }\r\n });\r\n return app;\r\n };\r\n}\n\n/**\r\n * Function for handling a template ref\r\n */\r\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\r\n if (isArray(rawRef)) {\r\n rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode, isUnmount));\r\n return;\r\n }\r\n if (isAsyncWrapper(vnode) && !isUnmount) {\r\n // when mounting async components, nothing needs to be done,\r\n // because the template ref is forwarded to inner component\r\n return;\r\n }\r\n const refValue = vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */\r\n ? getExposeProxy(vnode.component) || vnode.component.proxy\r\n : vnode.el;\r\n const value = isUnmount ? null : refValue;\r\n const { i: owner, r: ref } = rawRef;\r\n if ((process.env.NODE_ENV !== 'production') && !owner) {\r\n warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +\r\n `A vnode with ref must be created inside the render function.`);\r\n return;\r\n }\r\n const oldRef = oldRawRef && oldRawRef.r;\r\n const refs = owner.refs === EMPTY_OBJ ? (owner.refs = {}) : owner.refs;\r\n const setupState = owner.setupState;\r\n // dynamic ref changed. unset old ref\r\n if (oldRef != null && oldRef !== ref) {\r\n if (isString(oldRef)) {\r\n refs[oldRef] = null;\r\n if (hasOwn(setupState, oldRef)) {\r\n setupState[oldRef] = null;\r\n }\r\n }\r\n else if (isRef(oldRef)) {\r\n oldRef.value = null;\r\n }\r\n }\r\n if (isFunction(ref)) {\r\n callWithErrorHandling(ref, owner, 12 /* FUNCTION_REF */, [value, refs]);\r\n }\r\n else {\r\n const _isString = isString(ref);\r\n const _isRef = isRef(ref);\r\n if (_isString || _isRef) {\r\n const doSet = () => {\r\n if (rawRef.f) {\r\n const existing = _isString ? refs[ref] : ref.value;\r\n if (isUnmount) {\r\n isArray(existing) && remove(existing, refValue);\r\n }\r\n else {\r\n if (!isArray(existing)) {\r\n if (_isString) {\r\n refs[ref] = [refValue];\r\n }\r\n else {\r\n ref.value = [refValue];\r\n if (rawRef.k)\r\n refs[rawRef.k] = ref.value;\r\n }\r\n }\r\n else if (!existing.includes(refValue)) {\r\n existing.push(refValue);\r\n }\r\n }\r\n }\r\n else if (_isString) {\r\n refs[ref] = value;\r\n if (hasOwn(setupState, ref)) {\r\n setupState[ref] = value;\r\n }\r\n }\r\n else if (isRef(ref)) {\r\n ref.value = value;\r\n if (rawRef.k)\r\n refs[rawRef.k] = value;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid template ref type:', ref, `(${typeof ref})`);\r\n }\r\n };\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid template ref type:', ref, `(${typeof ref})`);\r\n }\r\n }\r\n}\n\nlet hasMismatch = false;\r\nconst isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';\r\nconst isComment = (node) => node.nodeType === 8 /* COMMENT */;\r\n// Note: hydration is DOM-specific\r\n// But we have to place it in core due to tight coupling with core - splitting\r\n// it out creates a ton of unnecessary complexity.\r\n// Hydration also depends on some renderer internal logic which needs to be\r\n// passed in via arguments.\r\nfunction createHydrationFunctions(rendererInternals) {\r\n const { mt: mountComponent, p: patch, o: { patchProp, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;\r\n const hydrate = (vnode, container) => {\r\n if (!container.hasChildNodes()) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Attempting to hydrate existing markup but container is empty. ` +\r\n `Performing full mount instead.`);\r\n patch(null, vnode, container);\r\n flushPostFlushCbs();\r\n return;\r\n }\r\n hasMismatch = false;\r\n hydrateNode(container.firstChild, vnode, null, null, null);\r\n flushPostFlushCbs();\r\n if (hasMismatch && !false) {\r\n // this error should show up in production\r\n console.error(`Hydration completed but contains mismatches.`);\r\n }\r\n };\r\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\r\n const isFragmentStart = isComment(node) && node.data === '[';\r\n const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);\r\n const { type, ref, shapeFlag } = vnode;\r\n const domType = node.nodeType;\r\n vnode.el = node;\r\n let nextNode = null;\r\n switch (type) {\r\n case Text:\r\n if (domType !== 3 /* TEXT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n if (node.data !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text mismatch:` +\r\n `\\n- Client: ${JSON.stringify(node.data)}` +\r\n `\\n- Server: ${JSON.stringify(vnode.children)}`);\r\n node.data = vnode.children;\r\n }\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Comment:\r\n if (domType !== 8 /* COMMENT */ || isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Static:\r\n if (domType !== 1 /* ELEMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n // determine anchor, adopt content\r\n nextNode = node;\r\n // if the static vnode has its content stripped during build,\r\n // adopt it from the server-rendered HTML.\r\n const needToAdoptContent = !vnode.children.length;\r\n for (let i = 0; i < vnode.staticCount; i++) {\r\n if (needToAdoptContent)\r\n vnode.children += nextNode.outerHTML;\r\n if (i === vnode.staticCount - 1) {\r\n vnode.anchor = nextNode;\r\n }\r\n nextNode = nextSibling(nextNode);\r\n }\r\n return nextNode;\r\n }\r\n break;\r\n case Fragment:\r\n if (!isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\r\n }\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n if (domType !== 1 /* ELEMENT */ ||\r\n vnode.type.toLowerCase() !==\r\n node.tagName.toLowerCase()) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\r\n }\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n // when setting up the render effect, if the initial vnode already\r\n // has .el set, the component will perform hydration instead of mount\r\n // on its sub-tree.\r\n vnode.slotScopeIds = slotScopeIds;\r\n const container = parentNode(node);\r\n mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);\r\n // component may be async, so in the case of fragments we cannot rely\r\n // on component's rendered output to determine the end of the fragment\r\n // instead, we do a lookahead to find the end anchor node.\r\n nextNode = isFragmentStart\r\n ? locateClosingAsyncAnchor(node)\r\n : nextSibling(node);\r\n // #3787\r\n // if component is async, it may get moved / unmounted before its\r\n // inner component is loaded, so we need to give it a placeholder\r\n // vnode that matches its adopted DOM.\r\n if (isAsyncWrapper(vnode)) {\r\n let subTree;\r\n if (isFragmentStart) {\r\n subTree = createVNode(Fragment);\r\n subTree.anchor = nextNode\r\n ? nextNode.previousSibling\r\n : container.lastChild;\r\n }\r\n else {\r\n subTree =\r\n node.nodeType === 3 ? createTextVNode('') : createVNode('div');\r\n }\r\n subTree.el = node;\r\n vnode.component.subTree = subTree;\r\n }\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n if (domType !== 8 /* COMMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);\r\n }\r\n }\r\n else if (shapeFlag & 128 /* SUSPENSE */) {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid HostVNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n if (ref != null) {\r\n setRef(ref, null, parentSuspense, vnode);\r\n }\r\n return nextNode;\r\n };\r\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\r\n optimized = optimized || !!vnode.dynamicChildren;\r\n const { type, props, patchFlag, shapeFlag, dirs } = vnode;\r\n // #4006 for form elements with non-string v-model value bindings\r\n // e.g.