summaryrefslogtreecommitdiff
path: root/iridescence/src/components
diff options
context:
space:
mode:
authorAdam T. Carpenter <atc@53hor.net>2020-12-03 19:25:12 -0500
committerAdam T. Carpenter <atc@53hor.net>2020-12-03 19:25:12 -0500
commitd8d44376d193d925582a0a12373e1403df49cf63 (patch)
tree3c7d2422ad000efb606d7a0995c089f4db56b237 /iridescence/src/components
parent8280cf98c9a33613c7440442b73636e39dd297bc (diff)
downloadtheglassyladies-d8d44376d193d925582a0a12373e1403df49cf63.tar.xz
theglassyladies-d8d44376d193d925582a0a12373e1403df49cf63.zip
basic cart subtotaling, sidebar with total and checkout controls, better
navbar cart buttons
Diffstat (limited to 'iridescence/src/components')
-rw-r--r--iridescence/src/components/CartCheckout.vue16
-rw-r--r--iridescence/src/components/cart/CartItem.vue7
-rw-r--r--iridescence/src/components/cart/Totals.vue25
3 files changed, 42 insertions, 6 deletions
diff --git a/iridescence/src/components/CartCheckout.vue b/iridescence/src/components/CartCheckout.vue
index 19ad706..cde78d9 100644
--- a/iridescence/src/components/CartCheckout.vue
+++ b/iridescence/src/components/CartCheckout.vue
@@ -1,10 +1,13 @@
<template>
<div id="cartCheckout">
- <div class="buttons">
- <router-link to="/cart" class="button">Cart ({{ inCart }})</router-link>
- <router-link to="/checkout" class="button is-primary">
- Checkout
- </router-link>
+ <div class="buttons has-addons">
+ <router-link to="/cart" class="button is-primary is-rounded"
+ >🛒</router-link
+ >
+ <button class="button is-static">x{{ inCart }}</button>
+ <button class="button is-static is-rounded">
+ {{ cartTotal }}
+ </button>
</div>
</div>
</template>
@@ -18,6 +21,9 @@ export default {
(acc, cur) => acc + cur,
0
);
+ },
+ cartTotal() {
+ return this.$store.getters.cartTotal;
}
}
};
diff --git a/iridescence/src/components/cart/CartItem.vue b/iridescence/src/components/cart/CartItem.vue
index 2c7655a..e31a109 100644
--- a/iridescence/src/components/cart/CartItem.vue
+++ b/iridescence/src/components/cart/CartItem.vue
@@ -19,6 +19,7 @@
</div>
</div>
<div class="level-right">
+ <div class="level-item">Subtotal: {{ dollars }}</div>
<div class="level-item">
<div class="field has-addons">
<p class="control is-expanded">
@@ -44,8 +45,9 @@
</div>
</div>
</div>
+
<div class="level-item">
- <button class="button is-outlined is-danger">
+ <button class="button is-outlined is-danger" @click="removeAll">
Remove
</button>
</div>
@@ -78,6 +80,9 @@ export default {
methods: {
incrementCartQuantity(by) {
this.$store.commit("cartItem", { id: this.id, by });
+ },
+ removeAll() {
+ this.$store.commit("removeItemFromCart", this.id);
}
}
};
diff --git a/iridescence/src/components/cart/Totals.vue b/iridescence/src/components/cart/Totals.vue
new file mode 100644
index 0000000..7b95462
--- /dev/null
+++ b/iridescence/src/components/cart/Totals.vue
@@ -0,0 +1,25 @@
+<template>
+ <div>
+ <h1 class="subtitle has-text-centered">
+ Summary
+ </h1>
+ <h1 class="title has-text-centered">
+ {{ cartTotal }}
+ </h1>
+ <router-link to="/checkout" class="button is-primary">
+ Checkout
+ </router-link>
+ </div>
+</template>
+
+<script>
+export default {
+ name: "Totals",
+ computed: {
+ cartTotal() {
+ return this.$store.getters.cartTotal;
+ }
+ },
+ methods: {}
+};
+</script>