Browse Source

Загрузить файлы 'JS 5 Online Homework/Homework #13: redux'

stas.vladlenko 1 year ago
parent
commit
378bc04bd6
1 changed files with 15 additions and 9 deletions
  1. 15 9
      JS 5 Online Homework/Homework #13: redux/hw13.js

+ 15 - 9
JS 5 Online Homework/Homework #13: redux/hw13.js

@@ -1,4 +1,3 @@
-
 function reducer(state, {type, ШО, СКОКА, БАБЛО}){
     if (!state){
         return {
@@ -22,11 +21,21 @@ function reducer(state, {type, ШО, СКОКА, БАБЛО}){
 
     switch({type, ШО, СКОКА, БАБЛО}.type) {
         case 'КУПИТЬ':
-            return {
-                ...state, 
-                [ШО]: {...state[ШО], колличество:  state[ШО].колличество >= СКОКА ?  state[ШО].колличество - СКОКА : (state.ЧЕК = 0) || state[ШО].колличество},
-                КАССА: state.ЧЕК <= БАБЛО ? state.ЧЕК : 0,
-                СДАЧА: (БАБЛО >= state.ЧЕК) ? БАБЛО - state.ЧЕК : turningIn.value = 'Не хватает БАБЛА!'
+            if (state[ШО].колличество <= СКОКА){
+                alert(`Товара ${[ШО]} нет в таком колличестве, есть только ${state[ШО].колличество}`)
+            }
+
+            if (БАБЛО < state.ЧЕК ) {
+                alert(`Не хватает ${state.ЧЕК - БАБЛО}. Приходи, когда будет БАБЛО!`)
+            }
+            
+            else {
+                return {
+                    ...state,
+                    [ШО]: {...state[ШО], колличество:  state[ШО].колличество >= СКОКА ? state[ШО].колличество - СКОКА : state[ШО].колличество},
+                    КАССА: БАБЛО >= state.ЧЕК && state[ШО].колличество >= СКОКА  ? state.ЧЕК : 0,
+                    СДАЧА: БАБЛО >= state.ЧЕК && state[ШО].колличество >= СКОКА ? БАБЛО - state.ЧЕК : 0
+                }
             }
         case 'СУММА ПОКУПКИ':
             return {
@@ -38,9 +47,6 @@ function reducer(state, {type, ШО, СКОКА, БАБЛО}){
     }
     }
 
-
-
-
 function createStore(reducer){
     let state = reducer(undefined, {})
     let cbs = []