Client - add link to workout in dashboard timeline
This commit is contained in:
parent
66f2f3a4df
commit
1640a3fee4
@ -32,10 +32,21 @@
|
|||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="workout-map" v-if="workout.with_gpx">
|
<div
|
||||||
|
class="workout-map"
|
||||||
|
v-if="workout.with_gpx"
|
||||||
|
@click="
|
||||||
|
$router.push({ name: 'Workout', params: { workoutId: workout.id } })
|
||||||
|
"
|
||||||
|
>
|
||||||
<StaticMap :workout="workout"></StaticMap>
|
<StaticMap :workout="workout"></StaticMap>
|
||||||
</div>
|
</div>
|
||||||
<div class="workout-data">
|
<div
|
||||||
|
class="workout-data"
|
||||||
|
@click="
|
||||||
|
$router.push({ name: 'Workout', params: { workoutId: workout.id } })
|
||||||
|
"
|
||||||
|
>
|
||||||
<div>
|
<div>
|
||||||
<img class="sport-img" alt="workout sport logo" :src="sport.img" />
|
<img class="sport-img" alt="workout sport logo" :src="sport.img" />
|
||||||
</div>
|
</div>
|
||||||
@ -158,6 +169,10 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.workout-map,
|
||||||
|
.workout-data {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ export enum WorkoutsGetters {
|
|||||||
|
|
||||||
export enum WorkoutsMutations {
|
export enum WorkoutsMutations {
|
||||||
EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',
|
EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',
|
||||||
|
EMPTY_WORKOUT = 'EMPTY_WORKOUT',
|
||||||
SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',
|
SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',
|
||||||
SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',
|
SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',
|
||||||
SET_WORKOUT = 'SET_WORKOUT',
|
SET_WORKOUT = 'SET_WORKOUT',
|
||||||
|
@ -42,4 +42,11 @@ export const mutations: MutationTree<IWorkoutsState> & TWorkoutsMutations = {
|
|||||||
state.calendar_workouts = []
|
state.calendar_workouts = []
|
||||||
state.user_workouts = []
|
state.user_workouts = []
|
||||||
},
|
},
|
||||||
|
[WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {
|
||||||
|
state.workout = {
|
||||||
|
gpx: '',
|
||||||
|
loading: false,
|
||||||
|
workout: <IWorkout>{},
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
@ -52,6 +52,7 @@ export type TWorkoutsMutations<S = IWorkoutsState> = {
|
|||||||
loading: boolean
|
loading: boolean
|
||||||
): void
|
): void
|
||||||
[WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: S): void
|
[WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: S): void
|
||||||
|
[WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: S): void
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TWorkoutsStoreModule<S = IWorkoutsState> = Omit<
|
export type TWorkoutsStoreModule<S = IWorkoutsState> = Omit<
|
||||||
|
@ -24,7 +24,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { computed, ComputedRef, defineComponent, onBeforeMount } from 'vue'
|
import {
|
||||||
|
computed,
|
||||||
|
ComputedRef,
|
||||||
|
defineComponent,
|
||||||
|
onBeforeMount,
|
||||||
|
onUnmounted,
|
||||||
|
} from 'vue'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
|
|
||||||
import Loader from '@/components/Common/Loader.vue'
|
import Loader from '@/components/Common/Loader.vue'
|
||||||
@ -60,6 +66,9 @@
|
|||||||
)
|
)
|
||||||
const sports = computed(() => store.getters[SPORTS_STORE.GETTERS.SPORTS])
|
const sports = computed(() => store.getters[SPORTS_STORE.GETTERS.SPORTS])
|
||||||
|
|
||||||
|
onUnmounted(() => {
|
||||||
|
store.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)
|
||||||
|
})
|
||||||
return { authUser, sports, workout }
|
return { authUser, sports, workout }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user