diff --git a/package-lock.json b/package-lock.json index 45b1d9a..a853a3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2844,6 +2844,63 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, "ssri": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", @@ -2852,6 +2909,28 @@ "requires": { "minipass": "^3.1.1" } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.8.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + } } } }, @@ -12411,87 +12490,6 @@ } } }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.8.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", - "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true - }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "vue-meta": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/vue-meta/-/vue-meta-2.4.0.tgz", diff --git a/src/abstraction/repository/programRepository.js b/src/abstraction/repository/programRepository.js index 559be95..70894bc 100644 --- a/src/abstraction/repository/programRepository.js +++ b/src/abstraction/repository/programRepository.js @@ -16,7 +16,16 @@ export default class ProgramRepository { // } let params = setQuery(data); let response = await axios.get(url("indexProgram"), { - headers: { 'accept-language': 'en' }, + params + }); + if (response.status === 200) { + return getArray(response.data); + } + } + async indexMyPrograms(data) { + console.log('repository'); + let params = setQuery(data); + let response = await axios.get(url("indexMyProgram"), { params }); if (response.status === 200) { diff --git a/src/abstraction/repository/sportCategoryRepository.js b/src/abstraction/repository/sportCategoryRepository.js index 2c45a1b..893e3c2 100644 --- a/src/abstraction/repository/sportCategoryRepository.js +++ b/src/abstraction/repository/sportCategoryRepository.js @@ -3,7 +3,7 @@ import url from "@/router/url"; import { getArray, getJson } from "../resources/sportCategoryResource"; export default class SportCategoryRepository { async index() { - let response = await axios.get(url("indexSportCategories")); + let response = await axios.get(url("indexClientSportCategories")); if (response.status === 200) { return getArray(response.data); } diff --git a/src/abstraction/resources/profileResource.js b/src/abstraction/resources/profileResource.js index 1eafba1..a4e7efe 100644 --- a/src/abstraction/resources/profileResource.js +++ b/src/abstraction/resources/profileResource.js @@ -22,6 +22,7 @@ export const getJson = (data) => ({ roles: data.roles }); export const setData = (data, isUpdate = false) => { + console.log(data); let formData = { first_name: data.first_name, last_name: data.last_name, @@ -33,6 +34,7 @@ export const setData = (data, isUpdate = false) => { details: data.details, address: data.address, email: data.email, + batch_id: data.batch_id, cell_number: data.cell_number, country_id: data.country_id, }; diff --git a/src/abstraction/resources/userResource.js b/src/abstraction/resources/userResource.js index f389301..38eb42a 100644 --- a/src/abstraction/resources/userResource.js +++ b/src/abstraction/resources/userResource.js @@ -20,8 +20,6 @@ export const getJson = (data) => { address: data.address, email: data.email, cell_number: data.cell_number, - is_admin: data.is_admin, - is_trainer: data.is_trainer, type: type, role: data.roles, role_id: role_id, diff --git a/src/components/AddProduct/Main.vue b/src/components/AddProduct/Main.vue index b864219..903f0b8 100644 --- a/src/components/AddProduct/Main.vue +++ b/src/components/AddProduct/Main.vue @@ -20,6 +20,7 @@ label="manager image" :url.sync="form.thumbnail" v-model="fileForm" + :stencilProps="{ aspectRatio: 1, checkImageOrigin: false }" /> @@ -239,7 +240,7 @@ export default { }, fileForm: { batch_id: RANDOM_TOKEN, - collection: "thumbnail", + collection: "main_image", crop_data: {}, }, noResultsText: "No results found.", diff --git a/src/components/AddProgram/Main.vue b/src/components/AddProgram/Main.vue index a894954..f0418e6 100644 --- a/src/components/AddProgram/Main.vue +++ b/src/components/AddProgram/Main.vue @@ -134,6 +134,7 @@ import SectionTitle from "../Global/Section/SectionTitle.vue"; import ImageCropper from "../Global/Input/ImageCropper.vue"; import FileRepository from "../../abstraction/repository/fileRepository"; import { mapGetters, mapActions } from "vuex"; +// import _ from "lodash"; import { makeid } from "@/utils/math"; const RANDOM_TOKEN = makeid(50); @@ -143,12 +144,13 @@ export default { ImageCropper, }, data: () => ({ + // perviousCropData: {}, form: { batch_id: RANDOM_TOKEN, }, fileForm: { batch_id: RANDOM_TOKEN, - collection: "thumbnail", + collection: "main_image", crop_data: {}, }, }), @@ -171,7 +173,11 @@ export default { try { let repository = new FileRepository(); if (this.programId) { - if (this.fileForm.file) { + if ( + this.fileForm.file + // || + // !_.isEqual(this.fileForm.crop_data, this.perviousCropData) + ) { await repository.store(this.fileForm); } await this.updateProgram(this.form); @@ -189,6 +195,7 @@ export default { await this.loadProgram(this.programId); this.form = this.getProgram; this.form["batch_id"] = RANDOM_TOKEN; + // this.perviousCropData = this.fileForm.crop_data; }, removeTags(item) { this.form.tags.splice(this.form.tags.indexOf(item), 1); diff --git a/src/components/AddWorkout/Main.vue b/src/components/AddWorkout/Main.vue index 2550c38..7a51ebf 100644 --- a/src/components/AddWorkout/Main.vue +++ b/src/components/AddWorkout/Main.vue @@ -181,6 +181,7 @@ import SectionTitle from "../Global/Section/SectionTitle.vue"; import ImageCropper from "../Global/Input/ImageCropper.vue"; import FileRepository from "../../abstraction/repository/fileRepository"; import { mapActions, mapGetters } from "vuex"; +// import _ from 'lodash'; import { makeid } from "@/utils/math"; const RANDOM_TOKEN = makeid(50); @@ -190,12 +191,13 @@ export default { ImageCropper, }, data: () => ({ + // perviousCropData: {}, form: { batch_id: RANDOM_TOKEN, }, fileForm: { batch_id: RANDOM_TOKEN, - collection: "thumbnail", + collection: "main_image", crop_data: {} }, }), @@ -223,7 +225,9 @@ export default { try { let repository = new FileRepository(); if (this.workoutId) { - if (this.fileForm.file) { + if (this.fileForm.file + // || !_.isEqual(this.fileForm.crop_data, this.perviousCropData) + ) { await repository.store(this.fileForm); } await this.updateWorkout(this.form); @@ -242,6 +246,7 @@ export default { this.form = this.getWorkout; this.form["batch_id"] = RANDOM_TOKEN; this.loadWorkoutCategories(this.form.sport_category_id); + // this.perviousCropData = this.fileForm.crop_data; }, changeSportCategories() { this.loadWorkoutCategories(this.form.sport_category_id); diff --git a/src/components/Global/Input/ImageCropper.vue b/src/components/Global/Input/ImageCropper.vue index a2316fc..09e818c 100644 --- a/src/components/Global/Input/ImageCropper.vue +++ b/src/components/Global/Input/ImageCropper.vue @@ -7,7 +7,7 @@ @change="onChangeCropper" :src="thumbnail" /> - +