From 8c1a7ca5c0acf4363e81be1f38d0fb8c68bcd260 Mon Sep 17 00:00:00 2001 From: Nero Ignis Date: Fri, 27 May 2022 23:15:24 +0200 Subject: [PATCH] items can be trashed; add danger-button; --- src/assets/gui/btn_danger.png | Bin 0 -> 468 bytes src/assets/gui/btn_danger_light.png | Bin 0 -> 476 bytes src/assets/gui/btn_danger_pressed.png | Bin 0 -> 479 bytes src/components/InventoryView.vue | 45 ++++++++++++++++++++++---- src/store/index.js | 2 +- src/style/_gui-elements.scss | 18 +++++++++++ 6 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 src/assets/gui/btn_danger.png create mode 100644 src/assets/gui/btn_danger_light.png create mode 100644 src/assets/gui/btn_danger_pressed.png diff --git a/src/assets/gui/btn_danger.png b/src/assets/gui/btn_danger.png new file mode 100644 index 0000000000000000000000000000000000000000..de861b67aef85336767842aa2c5266b734f9f9d2 GIT binary patch literal 468 zcmV;_0W1EAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf6951U69E94oEQKA0clA@K~!i%?b@+Q z!(b2x@Wi=79>7U_01+Gtf<8b8AHd>k_z(_mMV!RA_YLgs*tHa-p@LGaRB(*R1@&t9k8!79V?3)S=IF;yW+Kmr_*J_Th7P?M?J{Mq{(RakAh_@Vms z`9bw^l-*Y(z%jK0NH?FZWb?88+lK@g!vKt70LCx?V;F!j48Rx$Uqny-@p%~WkZ zPDMDve>yy(CYcN+KvbP;f&Y=s7f663@&sr)5wIEAcnt|K<$1sJE}m%2V#ad-0000< KMNUMnLSTaZf5RC7 literal 0 HcmV?d00001 diff --git a/src/assets/gui/btn_danger_light.png b/src/assets/gui/btn_danger_light.png new file mode 100644 index 0000000000000000000000000000000000000000..c115490e837716d81e18b1f2bbe6c33fcd340d4e GIT binary patch literal 476 zcmV<20VDp2P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf6951U69E94oEQKA0dYx0K~!i%?b^Re z!%!3k@LUUywo?~z&?gXQ!B-Gpz$dVyTXA!9@Dch3j&A+|NA2L|P!MT_O4JxZ5X#k_ zoD<1SV-hW#JA6L~=VZ+}-*R(}-P{UhIzF`AW%Z7@fm&`tGcD)uF};cfuAt;60nWw` z54zmJJS?xZsP-@Js77Xy5`hFL%O$|w{PDw>JE)_*(&jEpz9$mk31hFXDsBF1x5FJ& z(Yie4E-@Uua+i?riv%dkC7^8c!^aVK@SEGgJ=N_=L{&%xTt#44%w4am!QFN~b{zf)mAOW686X0?a0skW#??M7p1;H1eN2I(* S>);Xq0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf6951U69E94oEQKA0dz@3K~!i%?b^Re z13?f5@LL7JLK6)JjEI$wyAvq-@rEzJ39*>!MCvU4_Im-rJ{|b2?QcZWwYVt zW=^u_DKFNk9TTVeHvSlmKTkX`5eL zn5PPpRaT<6pvr2EYWeY&DiYwC%mIX(AO6D4$M#Pj5}*tNP=*00!vK_F0Lm}`Wf*`m z3_uwMpe%6~B;*_B`_?X1C?-Aw+T5lpw@GjokN{OdFaly} VhKLtRzN!EK002ovPDHLkV1g7~!gK%t literal 0 HcmV?d00001 diff --git a/src/components/InventoryView.vue b/src/components/InventoryView.vue index 63b08b4..9fd62b6 100644 --- a/src/components/InventoryView.vue +++ b/src/components/InventoryView.vue @@ -80,13 +80,15 @@ Takes {{ selectedItem.cropData.timeToGrow }} minutes to grow.
-
-
- +
+
+
+ +
+
+
Trash
+
- Seed info
- Sells for {{ selectedItem.economy.sell }}$ when harvested.
- Takes {{ selectedItem.cropData.timeToGrow }} minutes to grow.
@@ -107,12 +109,14 @@ import {ItemTypeFrameClasses, ItemTypes} from "@/data/ItemTypes"; import {openModal} from "@/helpers"; import ItemService from "@/services/ItemService"; +import iziToast from "izitoast"; export default { name: "InventoryView", data() { return { selectedItem: null, + trashQuantity: 0 } }, computed: { @@ -140,6 +144,17 @@ export default { return product.icon; } }, + watch: { + trashQuantity() { + if (this.trashQuantity > this.selectedItem.quantity) { + this.trashQuantity = this.selectedItem.quantity; + } + + if (this.trashQuantity < 0) { + this.trashQuantity = 0; + } + } + }, methods: { getFrameClass(type) { return ItemTypeFrameClasses[type]; @@ -148,6 +163,14 @@ export default { this.selectedItem = item; openModal('itemInfoModal'); console.log(item); + }, + trashItems() { + this.$store.commit('removeItemFromInventory', {item: this.selectedItem, quantity: this.trashQuantity}); + iziToast.success({ + title: 'Threw away '+this.trashQuantity+' of '+this.selectedItem.name + }); + + this.trashQuantity = 0; } } } @@ -190,4 +213,14 @@ export default { border-radius: 20px; color: black; } + +.trash-quantity-input { + text-align: right; + max-width: 100%; + height: 2.7em; +} + +.trash-section .col-8 *, .trash-section .col-4 * { + width: 100% +} \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js index 696b83a..06c6b1c 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -196,7 +196,7 @@ export default createStore({ removeItemFromInventory(state, props = {item: Object, quantity: Number}) { let itemInInventory = state.inventory.find((inventoryItem) => { return inventoryItem.id === props.item.id; - }) + }); if (itemInInventory) { itemInInventory.quantity -= props.quantity; diff --git a/src/style/_gui-elements.scss b/src/style/_gui-elements.scss index 5b081e3..2229488 100644 --- a/src/style/_gui-elements.scss +++ b/src/style/_gui-elements.scss @@ -73,6 +73,24 @@ border-image: url('@/assets/gui/btn_light_pressed.png') 15 repeat; } +.btn-pixel-danger { + margin-bottom: 5px; + padding: 0 15px; + + background-color: #C97E6A; + border: 12px solid transparent; + border-radius: 7px; + border-image: url('@/assets/gui/btn_danger.png') 15 repeat; +} + +.btn-pixel-danger:hover { + border-image: url('@/assets/gui/btn_danger_light.png') 15 repeat; +} + +.btn-pixel-danger:active { + border-image: url('@/assets/gui/btn_danger_pressed.png') 15 repeat; +} + .btn-pixel-mono { margin-bottom: 5px; padding: 0 15px;