Skip to content

Commit 43ab35c

Browse files
committed
to fix: Cart, glasses,About bottom figures, vert long tablet overflow
1 parent c281633 commit 43ab35c

File tree

5 files changed

+16
-10
lines changed

5 files changed

+16
-10
lines changed

Classes/Cart.js

+12
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
export class Cart{
22
cartBox = this.getFromLS() || []; //объекты {item:{item}, S:3}
3+
//надо в объекты {item:{item}, sizes:{S:3, M:2}}
34

45
addToCart(item = {name:'defName',price:999}, sizes = {XL:1, XS:2}){
56
let incomKeys = Object.keys(sizes);
7+
console.log('item = ',item)
8+
console.log('sizes = ', sizes)
9+
if(this.cartBox.length === 0){//массив пуст - смело пушим!! 1 товар - 1 строка. item, sizes
10+
this.cartBox.push({item,sizes})
11+
console.log('last:', this.cartBox[this.cartBox.length-1])
12+
}
13+
14+
615

716
if (this.cartBox.length === 0) {//массив пуст - смело пушим!! для каждого размера по отдельности
817
incomKeys.forEach(incomSize => {
918
this.cartBox.push({item,[incomSize]:sizes[incomSize]}) //для каждого размера по отдельности
19+
console.log(' \n pushed {item,[incomSize]:sizes[incomSize]} :', {item,[incomSize]:sizes[incomSize]})
1020
})
1121
} else {
1222
//проверить, есть ли совпадения по имени. Да - проверяем ключи. Нет - пушим
@@ -48,13 +58,15 @@ export class Cart{
4858
totalItems(){
4959
return this.cartBox.reduce((initial,object) => {
5060
return initial + Object.values(object)[1]
61+
// из-за путаницы с размерами у новых товаров пришлось делать "костыль", чтобы не переписывать все методы с нуля
5162
},0);
5263
};
5364

5465
//сложить цены у всех товаров в корзине, перемножив сумму размеров в ordered на цену товара
5566
totalPrice(){
5667
return this.cartBox.reduce((initial,object) => {
5768
return initial + Object.values(object)[1] * object.item.price
69+
// из-за путаницы с размерами у новых товаров пришлось делать "костыль", чтобы не переписывать все методы с нуля
5870
},0)
5971
};
6072

Routes/CartRoute.js

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ export const CartRoute = {
4848
</div>`,
4949
methods:{
5050
size(position){
51+
5152
return Object.keys(position)[1];
5253
},
5354
amount(position){

Routes/Collections.js

-4
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,10 @@ export const Collections = {
7777
},
7878
async fetchItems(){
7979
if(this.items.length > 0){
80-
console.log('this items = ', this.items)
8180
this.finalItems = this.items;
8281
}
8382
else{
84-
console.log('bypass')
8583
let respObj = await getAPIdata().then(response => response.json());
86-
//debugger
87-
console.log('this.items = ',this.items)
8884
this.finalItems = respObj.items;
8985
}
9086
}

Routes/Item.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -112,28 +112,26 @@ export const Item = {
112112
async giveMetTrueItem(){
113113
if(this.items.length > 0){
114114
this.item = this.items.find(el => el.id === +this.$route.params.xxx)
115-
console.log('this item now = ', this.item)
116115
this.setBigImage = `${this.item?.media?.images[0]?.image800pxUrl}`
117116
}
118117
else{
119-
console.log('bypass')
120118
const idParam = +window.location?.hash?.slice(7) || 0;
121119
let respObj = await getAPIdata().then(response => response.json());
122-
//debugger
123120
this.item = respObj.items.find(item => item.id === +idParam)
124121
this.setBigImage = `${this.item?.media?.images[0]?.image800pxUrl}`
125122
}
126123
},
127-
//работа с выбранными чекбоксами
124+
//работа с выбранными чекбоксами - а если размеров нет? как у очков
128125
orderedSizes(){
129126
let ordered = {}
130127
let selects = document.querySelectorAll('select')
131-
console.log(`selectorAll = `,selects)
128+
132129
selects.forEach(el =>{ //чтобы нули не улетали в корзину
133130
if(el.value !== '0'){
134131
ordered[el.id] = +el.value;
135132
}
136133
})
134+
console.log(ordered)
137135
return ordered //массив вида {S:1,M:0,L:1}
138136
},
139137
//назначение большого рисунка

script.js

-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ const app = Vue.createApp({
4949
try{
5050
let respObject = await getAPIdata().then(response => response.json());
5151
this.items = respObject.items;
52-
console.log('this.items = ',this.items) // Proxy {[]}
5352
} catch(e){ console.error(`Error from App.vue/created(): `,e)}
5453
},
5554

0 commit comments

Comments
 (0)