API & Client - add new sport (Snowshoes) - fix #121

This commit is contained in:
Sam 2021-12-19 09:53:01 +01:00
parent e48086a760
commit 0b47e42ea5
13 changed files with 113 additions and 9 deletions

View File

@ -1 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"><link rel="stylesheet" href="/static/css/leaflet.css"><title>FitTrackee</title><link href="/static/css/admin.e77f8b26.css" rel="prefetch"><link href="/static/css/profile.8b668068.css" rel="prefetch"><link href="/static/css/reset.fc19709e.css" rel="prefetch"><link href="/static/css/statistics.2afdc8a9.css" rel="prefetch"><link href="/static/css/workouts.5ffd5cc1.css" rel="prefetch"><link href="/static/js/admin.5f46d0fe.js" rel="prefetch"><link href="/static/js/chunk-2d0c9189.c81458cc.js" rel="prefetch"><link href="/static/js/chunk-2d0cf391.020c75ea.js" rel="prefetch"><link href="/static/js/chunk-2d0da8f3.c8c3e7e8.js" rel="prefetch"><link href="/static/js/chunk-2d2248b6.d84473c1.js" rel="prefetch"><link href="/static/js/chunk-2d22523a.4b710d99.js" rel="prefetch"><link href="/static/js/profile.d25975e2.js" rel="prefetch"><link href="/static/js/reset.ca898ebe.js" rel="prefetch"><link href="/static/js/statistics.d03ca304.js" rel="prefetch"><link href="/static/js/workouts.e3d575e0.js" rel="prefetch"><link href="/static/css/app.c2c4db70.css" rel="preload" as="style"><link href="/static/js/app.2db5dd5a.js" rel="preload" as="script"><link href="/static/js/chunk-vendors.b68629ef.js" rel="preload" as="script"><link href="/static/css/app.c2c4db70.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/static/js/chunk-vendors.b68629ef.js"></script><script src="/static/js/app.2db5dd5a.js"></script></body></html> <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"><link rel="stylesheet" href="/static/css/leaflet.css"><title>FitTrackee</title><link href="/static/css/admin.e77f8b26.css" rel="prefetch"><link href="/static/css/profile.8b668068.css" rel="prefetch"><link href="/static/css/reset.fc19709e.css" rel="prefetch"><link href="/static/css/statistics.2afdc8a9.css" rel="prefetch"><link href="/static/css/workouts.5ffd5cc1.css" rel="prefetch"><link href="/static/js/admin.5f46d0fe.js" rel="prefetch"><link href="/static/js/chunk-2d0c9189.c81458cc.js" rel="prefetch"><link href="/static/js/chunk-2d0cf391.020c75ea.js" rel="prefetch"><link href="/static/js/chunk-2d0da8f3.c8c3e7e8.js" rel="prefetch"><link href="/static/js/chunk-2d2248b6.d84473c1.js" rel="prefetch"><link href="/static/js/chunk-2d22523a.4b710d99.js" rel="prefetch"><link href="/static/js/profile.d25975e2.js" rel="prefetch"><link href="/static/js/reset.ca898ebe.js" rel="prefetch"><link href="/static/js/statistics.d03ca304.js" rel="prefetch"><link href="/static/js/workouts.e3d575e0.js" rel="prefetch"><link href="/static/css/app.c2c4db70.css" rel="preload" as="style"><link href="/static/js/app.b491eeb8.js" rel="preload" as="script"><link href="/static/js/chunk-vendors.b68629ef.js" rel="preload" as="script"><link href="/static/css/app.c2c4db70.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/static/js/chunk-vendors.b68629ef.js"></script><script src="/static/js/app.b491eeb8.js"></script></body></html>

View File

@ -64,7 +64,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/img/workouts/mountains.svg" "url": "/img/workouts/mountains.svg"
}, },
{ {
"revision": "186223d4fcc2dfbaa6034a723cc46b73", "revision": "b52103c76b5ae16c23a4fa6d38dd3236",
"url": "/index.html" "url": "/index.html"
}, },
{ {
@ -80,7 +80,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/static/css/admin.e77f8b26.css" "url": "/static/css/admin.e77f8b26.css"
}, },
{ {
"revision": "8959d913638ea8d9e8a8", "revision": "e68377b013509ba8b875",
"url": "/static/css/app.c2c4db70.css" "url": "/static/css/app.c2c4db70.css"
}, },
{ {
@ -192,8 +192,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/static/js/admin.5f46d0fe.js" "url": "/static/js/admin.5f46d0fe.js"
}, },
{ {
"revision": "8959d913638ea8d9e8a8", "revision": "e68377b013509ba8b875",
"url": "/static/js/app.2db5dd5a.js" "url": "/static/js/app.b491eeb8.js"
}, },
{ {
"revision": "bd7d183c9f68e5f4027d", "revision": "bd7d183c9f68e5f4027d",

View File

@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts( importScripts(
"/precache-manifest.bebdb591602d98526a254669f350fe65.js" "/precache-manifest.77352451660657ca55df5d92cd08d84b.js"
); );
workbox.core.setCacheNameDetails({prefix: "fittrackee_client"}); workbox.core.setCacheNameDetails({prefix: "fittrackee_client"});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,33 @@
"""add snowshoes sport
Revision ID: ed409fd9db9d
Revises: 07188ca7620a
Create Date: 2021-12-19 09:09:37.531543
"""
from alembic import op
# revision identifiers, used by Alembic.
revision = 'ed409fd9db9d'
down_revision = '07188ca7620a'
branch_labels = None
depends_on = None
def upgrade():
op.execute(
"""
INSERT INTO sports (label, is_active, stopped_speed_threshold)
VALUES ('Snowshoes', True, 0.1)
"""
)
def downgrade():
op.execute(
"""
DELETE FROM sports
WHERE label = 'Snowshoes';
"""
)

View File

@ -0,0 +1,62 @@
<template>
<svg
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"
>
<desc id="snowshoesDescription">silhouette of a person with snowshoes</desc>
<a id="a941">
<g id="g6">
<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 c-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"
id="path2"
/>
<path
d="M 400.207,188.547 H 331.47 l -38.766,-55.03 0.123,-0.944 c 1.384,-10.514 -1.475,-21.146 -7.94,-29.556 -6.461,-8.409 -16.007,-13.903 -26.52,-15.287 -10.926,-1.429 -22.619,3.12 -31.206,8.646 -1.441,0.928 -84.97,54.921 -84.97,54.921 -5.175,3.358 -8.542,8.877 -9.165,15.016 -0.634,6.13 1.574,12.222 5.976,16.541 l 58.982,58 -6.417,48.954 -18.707,65.584 -65.05119,31.97053 c -12.988666,4.46731 -20.184548,18.48046 -15.989971,31.3127 4.211472,12.82063 18.196961,19.59882 31.244871,15.13083 L 197.478,400.879 c 5.655,-3.146 9.833,-8.409 11.611,-14.635 l 25.963,-71.057 26.365,36.639 6.684,83.628 c 0.73,12.991 11.501,23.036 24.349,23.036 0.441,0 0.92,-0.016 1.379,-0.039 13.453,-0.748 23.745,-12.262 23,-25.713 l -7.083,-90.736 c -0.271,-4.643 -1.846,-9.116 -4.56,-12.887 l -32.24,-44.811 11.959,-91.279 19.409,27.555 c 3.794,5.407 10.005,8.624 16.613,8.624 h 79.28 c 11.226,0 20.326,-9.101 20.326,-20.329 0,-11.228 -9.101,-20.328 -20.326,-20.328 z m -195.601,1.81 -19.026,-18.717 23.476,-15.206 z"
id="path4"
/>
</g>
</a>
<path
d="m 298.71755,466.89876 c 34.77016,0 59.21435,1.29141 59.21435,-13.23956 0,-14.53096 4.12606,-16.02074 -29.36635,-12.11757 -30.73634,3.582 -85.42111,4.42691 -90.30047,14.96259 -4.90812,10.59778 25.68237,10.39454 60.45247,10.39454 z"
id="path4-3"
style="stroke-width: 3.76193"
/>
<path
d="m 87.671049,426.72238 c 15.942661,30.89977 26.003031,53.21513 38.916511,46.55245 12.91346,-6.66266 16.12928,-3.67899 -2.6962,-31.65357 C 106.615,415.9487 80.790319,367.73849 69.190141,368.23304 c -11.668553,0.49747 2.538273,27.58962 18.480908,58.48934 z"
id="path4-3-3"
style="stroke-width: 3.76193"
/>
<rect
style="stroke-width: 0.701998"
id="rect1062"
width="9.7789898"
height="242.75766"
x="397.1806"
y="203.58122"
ry="4.8894949"
/>
<rect
style="stroke-width: 0.701998"
id="rect1062-7"
width="9.7789898"
height="242.75766"
x="296.39819"
y="-78.536827"
ry="4.8894949"
transform="rotate(54.243176)"
/>
</svg>
</template>
<script>
export default {
name: 'Snowshoes',
}
</script>

View File

@ -15,6 +15,7 @@
<Running v-if="sportLabel === 'Running'" /> <Running v-if="sportLabel === 'Running'" />
<SkiingAlpine v-if="sportLabel === 'Skiing (Alpine)'" /> <SkiingAlpine v-if="sportLabel === 'Skiing (Alpine)'" />
<SkiingCrossCountry v-if="sportLabel === 'Skiing (Cross Country)'" /> <SkiingCrossCountry v-if="sportLabel === 'Skiing (Cross Country)'" />
<Snowshoes v-if="sportLabel === 'Snowshoes'" />
<Trail v-if="sportLabel === 'Trail'" /> <Trail v-if="sportLabel === 'Trail'" />
<Walking v-if="sportLabel === 'Walking'" /> <Walking v-if="sportLabel === 'Walking'" />
</div> </div>
@ -32,6 +33,7 @@
import Running from '@/components/Common/Images/SportImage/Running.vue' import Running from '@/components/Common/Images/SportImage/Running.vue'
import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue' import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'
import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue' import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'
import Snowshoes from '@/components/Common/Images/SportImage/Snowshoes.vue'
import Trail from '@/components/Common/Images/SportImage/Trail.vue' import Trail from '@/components/Common/Images/SportImage/Trail.vue'
import Walking from '@/components/Common/Images/SportImage/Walking.vue' import Walking from '@/components/Common/Images/SportImage/Walking.vue'

View File

@ -26,6 +26,9 @@
"Skiing (Cross Country)": { "Skiing (Cross Country)": {
"LABEL": "Skiing (Cross Country)" "LABEL": "Skiing (Cross Country)"
}, },
"Snowshoes": {
"LABEL": "Snowshoes"
},
"Trail": { "Trail": {
"LABEL": "Trail" "LABEL": "Trail"
}, },

View File

@ -26,6 +26,9 @@
"Skiing (Cross Country)": { "Skiing (Cross Country)": {
"LABEL": "Ski (Randonnée)" "LABEL": "Ski (Randonnée)"
}, },
"Snowshoes": {
"LABEL": "Raquettes"
},
"Trail": { "Trail": {
"LABEL": "Trail" "LABEL": "Trail"
}, },

View File

@ -12,6 +12,7 @@ export const sportColors: Record<string, string> = {
Running: '#835b83', Running: '#835b83',
'Skiing (Alpine)': '#67a4bd', 'Skiing (Alpine)': '#67a4bd',
'Skiing (Cross Country)': '#9498d0', 'Skiing (Cross Country)': '#9498d0',
Snowshoes: '#5780a8',
Trail: '#09a98a', Trail: '#09a98a',
Walking: '#838383', Walking: '#838383',
} }