2021-11-03 18:27:19 +01:00

56 lines
1.5 KiB
TypeScript

import { MutationTree } from 'vuex'
import { WORKOUTS_STORE } from '@/store/constants'
import { initialWorkoutValue } from '@/store/modules/workouts/state'
import {
IWorkoutsState,
TWorkoutsMutations,
} from '@/store/modules/workouts/types'
import { IWorkout, IWorkoutApiChartData } from '@/types/workouts'
export const mutations: MutationTree<IWorkoutsState> & TWorkoutsMutations = {
[WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](
state: IWorkoutsState,
workouts: IWorkout[]
) {
state.calendar_workouts = workouts
},
[WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](
state: IWorkoutsState,
workouts: IWorkout[]
) {
state.user_workouts = workouts
},
[WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](
state: IWorkoutsState,
workout: IWorkout
) {
state.workoutData.workout = workout
},
[WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](
state: IWorkoutsState,
chartData: IWorkoutApiChartData[]
) {
state.workoutData.chartData = chartData
},
[WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](
state: IWorkoutsState,
gpx: string
) {
state.workoutData.gpx = gpx
},
[WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](
state: IWorkoutsState,
loading: boolean
) {
state.workoutData.loading = loading
},
[WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {
state.calendar_workouts = []
state.user_workouts = []
},
[WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {
state.workoutData = initialWorkoutValue
},
}