|
|
@ -4,6 +4,7 @@
|
|
|
|
transition="slide-x-transition"
|
|
|
|
transition="slide-x-transition"
|
|
|
|
tag="form"
|
|
|
|
tag="form"
|
|
|
|
@submit="WorkoutToSeries"
|
|
|
|
@submit="WorkoutToSeries"
|
|
|
|
|
|
|
|
@open="openModal"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<template #header>
|
|
|
|
<template #header>
|
|
|
|
<div class="close__modal">
|
|
|
|
<div class="close__modal">
|
|
|
@ -32,27 +33,39 @@
|
|
|
|
:search-input.sync="search"
|
|
|
|
:search-input.sync="search"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<template #item="{ item }">
|
|
|
|
<template #item="{ item }">
|
|
|
|
<div class="dashfkl w-100">
|
|
|
|
<div
|
|
|
|
<AddWorkoutsItem
|
|
|
|
class="w-100"
|
|
|
|
@click.native="joinWorkout(item.id)"
|
|
|
|
style="border-bottom: 1px solid white"
|
|
|
|
|
|
|
|
@click="joinWorkout(item.id)"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<!-- <AddWorkoutsItem
|
|
|
|
|
|
|
|
|
|
|
|
:addWorkout="item"
|
|
|
|
:addWorkout="item"
|
|
|
|
:add="true"
|
|
|
|
:add="true"
|
|
|
|
class="mt-3"
|
|
|
|
class="mt-3"
|
|
|
|
/>
|
|
|
|
/> -->
|
|
|
|
|
|
|
|
<div class="pb-3 align mt-2">
|
|
|
|
|
|
|
|
<div class="series__workout__title wa__f__m__eb text-uppercase mb-2">
|
|
|
|
|
|
|
|
{{ item.title }}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="series__workout__description">
|
|
|
|
|
|
|
|
{{ item.description }}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</v-autocomplete>
|
|
|
|
</v-autocomplete>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<template v-if="Object.keys(getWorkoutToSeries).length !== 0">
|
|
|
|
<template v-if="Object.keys(selectedWorkout).length !== 0">
|
|
|
|
<v-divider class="mt-6"></v-divider>
|
|
|
|
<v-divider class="mt-6"></v-divider>
|
|
|
|
<v-row class="mt-1">
|
|
|
|
<v-row class="mt-1">
|
|
|
|
<v-col cols="12"
|
|
|
|
<v-col cols="12"
|
|
|
|
><AddWorkoutsItem :addWorkout="getWorkoutToSeries" :add="true"
|
|
|
|
><AddWorkoutsItem :addWorkout="selectedWorkout" :add="true"
|
|
|
|
/></v-col>
|
|
|
|
/></v-col>
|
|
|
|
</v-row>
|
|
|
|
</v-row>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<div class="mt-6">
|
|
|
|
<div class="mt-6">
|
|
|
|
<v-row :class="{ 'mt-9': Object.keys(getWorkoutToSeries).length === 0 }">
|
|
|
|
<v-row :class="{ 'mt-9': Object.keys(selectedWorkout).length === 0 }">
|
|
|
|
<v-col cols="4">
|
|
|
|
<v-col cols="4">
|
|
|
|
<v-text-field
|
|
|
|
<v-text-field
|
|
|
|
dark
|
|
|
|
dark
|
|
|
@ -97,7 +110,7 @@
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #footer>
|
|
|
|
<template #footer>
|
|
|
|
<v-spacer></v-spacer>
|
|
|
|
<v-spacer></v-spacer>
|
|
|
|
<div class="d-flex justify-space-between align-items-center w-100 px-4">
|
|
|
|
<div class="d-flex justify-space-between align-items-center w-100">
|
|
|
|
<RectangleButton
|
|
|
|
<RectangleButton
|
|
|
|
class="btn__modal--cancel pl-0"
|
|
|
|
class="btn__modal--cancel pl-0"
|
|
|
|
text="cancel"
|
|
|
|
text="cancel"
|
|
|
@ -124,6 +137,8 @@ import AddWorkoutsItem from "../Item.vue";
|
|
|
|
import { mapActions, mapGetters, mapMutations } from "vuex";
|
|
|
|
import { mapActions, mapGetters, mapMutations } from "vuex";
|
|
|
|
import { cloneDeep } from "lodash";
|
|
|
|
import { cloneDeep } from "lodash";
|
|
|
|
import toast from "@/utils/toast";
|
|
|
|
import toast from "@/utils/toast";
|
|
|
|
|
|
|
|
import WorkoutToSeriesRepository from "@/abstraction/repository/workoutToSeriesRepository";
|
|
|
|
|
|
|
|
|
|
|
|
let cancelId;
|
|
|
|
let cancelId;
|
|
|
|
const defaultFilter = {
|
|
|
|
const defaultFilter = {
|
|
|
|
title: {
|
|
|
|
title: {
|
|
|
@ -141,9 +156,10 @@ export default {
|
|
|
|
isLoadingTimeout: null,
|
|
|
|
isLoadingTimeout: null,
|
|
|
|
form: {},
|
|
|
|
form: {},
|
|
|
|
workoutId: null,
|
|
|
|
workoutId: null,
|
|
|
|
|
|
|
|
selectedWorkout: {},
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
computed: {
|
|
|
|
computed: {
|
|
|
|
...mapGetters("workoutToSeries", ["getWorkoutsToSeries", "getWorkoutToSeries"]),
|
|
|
|
...mapGetters("workoutToSeries", ["getWorkoutsToSeries"]),
|
|
|
|
...mapGetters("programSeries", ["getCurrentSeriesId"]),
|
|
|
|
...mapGetters("programSeries", ["getCurrentSeriesId"]),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
watch: {
|
|
|
@ -165,15 +181,16 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
methods: {
|
|
|
|
...mapActions("workoutToSeries", [
|
|
|
|
...mapActions("workoutToSeries", ["loadWorkoutsToSeries", "addWorkoutToSeries"]),
|
|
|
|
"loadWorkoutsToSeries",
|
|
|
|
|
|
|
|
"loadWorkoutToSeries",
|
|
|
|
|
|
|
|
"addWorkoutToSeries",
|
|
|
|
|
|
|
|
]),
|
|
|
|
|
|
|
|
...mapMutations("workoutToSeries", ["SET_FILTER_WORKOUTS_TO_SERIES"]),
|
|
|
|
...mapMutations("workoutToSeries", ["SET_FILTER_WORKOUTS_TO_SERIES"]),
|
|
|
|
|
|
|
|
openModal() {
|
|
|
|
|
|
|
|
console.log("s");
|
|
|
|
|
|
|
|
},
|
|
|
|
async joinWorkout(id) {
|
|
|
|
async joinWorkout(id) {
|
|
|
|
this.workoutId = id;
|
|
|
|
this.workoutId = id;
|
|
|
|
await this.loadWorkoutToSeries(this.workoutId);
|
|
|
|
let repository = new WorkoutToSeriesRepository();
|
|
|
|
|
|
|
|
this.selectedWorkout = await repository.show(this.workoutId);
|
|
|
|
|
|
|
|
console.log(this.selectedWorkout);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
async WorkoutToSeries() {
|
|
|
|
async WorkoutToSeries() {
|
|
|
|
if (this.workoutId) {
|
|
|
|
if (this.workoutId) {
|
|
|
@ -182,6 +199,7 @@ export default {
|
|
|
|
seriesId: Number(this.getCurrentSeriesId),
|
|
|
|
seriesId: Number(this.getCurrentSeriesId),
|
|
|
|
workoutId: this.workoutId,
|
|
|
|
workoutId: this.workoutId,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
this.isLoading = false;
|
|
|
|
this.$_closeModal();
|
|
|
|
this.$_closeModal();
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -197,4 +215,21 @@ export default {
|
|
|
|
.theme--light.v-list {
|
|
|
|
.theme--light.v-list {
|
|
|
|
background-color: rgb(46, 45, 45) !important;
|
|
|
|
background-color: rgb(46, 45, 45) !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.series__workout__title {
|
|
|
|
|
|
|
|
letter-spacing: 4px;
|
|
|
|
|
|
|
|
color: var(--color-white);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.series__workout__description {
|
|
|
|
|
|
|
|
font-size: 10px;
|
|
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
|
|
line-height: 10px;
|
|
|
|
|
|
|
|
color: #e3e3e3;
|
|
|
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
|
|
|
word-wrap: break-word;
|
|
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.align {
|
|
|
|
|
|
|
|
line-height: 4px;
|
|
|
|
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</style>
|
|
|
|