sajjad 3 years ago
parent 72154c82af
commit 7bcc9b3efc

@ -56,7 +56,7 @@
<template #footer> <template #footer>
<v-spacer></v-spacer> <v-spacer></v-spacer>
<div <div
class="d-flex justify-space-between align-items-center w-100 px-4 pb-10" class="d-flex justify-space-between align-items-center w-100 pb-10"
> >
<RectangleButton <RectangleButton
class="btn__modal--cancel pl-0" class="btn__modal--cancel pl-0"

@ -30,7 +30,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"

@ -51,7 +51,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="clear" text="clear"

@ -39,7 +39,7 @@
</div> </div>
</main-back> </main-back>
<div class="text-center"> <div class="text-center">
<AddWorkoutModal /> <AddWorkoutModal v-if="isModal('modal_add_workout')" />
</div> </div>
</div> </div>
</template> </template>
@ -57,6 +57,7 @@ export default {
}, },
computed: { computed: {
...mapGetters("workoutToSeries", ["getWorkouts"]), ...mapGetters("workoutToSeries", ["getWorkouts"]),
...mapGetters("modal", [ "isModal"]),
seriesId() { seriesId() {
return this.$route.params.seriesId; return this.$route.params.seriesId;
}, },

@ -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>

@ -15,11 +15,11 @@ export default {
return e; return e;
} }
}, },
async loadWorkoutToSeries({ commit }, workoutId) { // async loadWorkoutToSeries({ commit }, workoutId) {
let repository = new WorkoutToSeriesRepository(); // let repository = new WorkoutToSeriesRepository();
const resource = await repository.show(workoutId); // const resource = await repository.show(workoutId);
commit("SET_WORKOUT_TO_SERIES", resource); // commit("SET_WORKOUT_TO_SERIES", resource);
}, // },
async addWorkoutToSeries({ commit }, data) { async addWorkoutToSeries({ commit }, data) {
let repository = new WorkoutToSeriesRepository(); let repository = new WorkoutToSeriesRepository();
const resource = await repository.store(data.data, data.seriesId, data.workoutId); const resource = await repository.store(data.data, data.seriesId, data.workoutId);

Loading…
Cancel
Save