From 69977102e0049f360067e305ee1a3e20d0d2afed Mon Sep 17 00:00:00 2001
From: Ben <36240171+benkyd@users.noreply.github.com>
Date: Tue, 19 Apr 2022 22:08:46 +0100
Subject: [PATCH] basic basket
Former-commit-id: 8c801211da983fe5e03535b2fd16a400bb01578e
---
client/public/components/basket-popout.mjs | 31 +++++++++++++++----
.../components/super-compact-listing.mjs | 15 +++++++++
src/controllers/set-controller.js | 1 -
3 files changed, 40 insertions(+), 7 deletions(-)
diff --git a/client/public/components/basket-popout.mjs b/client/public/components/basket-popout.mjs
index 8b4b493..427314e 100644
--- a/client/public/components/basket-popout.mjs
+++ b/client/public/components/basket-popout.mjs
@@ -135,18 +135,23 @@ class BasketPopout extends Component {
${Object.keys(this.state.items).map((key) => {
const item = this.state.items[key];
- console.log(item)
return /* html */`
`;
}).join('')}
@@ -187,16 +192,30 @@ class BasketPopout extends Component {
}
#basket-popup {
+ font-size: 0.5em;
position: absolute;
background-color: #AB8FFF;
right: 0;
- width: 200px;
- height: 200px;
+ width: 60%;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ height: auto;
+ overflow-y: scroll;
+ overflow-x: hidden;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 100;
}
+
+ @media (pointer:none), (pointer:coarse), screen and (max-width: 900px) {
+ #basket-popup {
+ position: fixed;
+ left: 0;
+ width: 100%;
+ }
+ }
+
`,
};
}
diff --git a/client/public/components/super-compact-listing.mjs b/client/public/components/super-compact-listing.mjs
index 4b95564..f76bb26 100644
--- a/client/public/components/super-compact-listing.mjs
+++ b/client/public/components/super-compact-listing.mjs
@@ -9,6 +9,21 @@ class SuperCompactProductListing extends Component {
super(SuperCompactProductListing);
}
+ async OnMount() {
+ if (!this.state.name || !this.state.price) {
+ const product = (await fetch(`/api/${this.state.type}/${this.state.id}`).then(res => res.json())).data;
+ const name = product.name;
+ const price = (product.discount || product.price) * this.state.quantity || 1;
+ const tag = product.tag;
+ this.setState({
+ ...this.getState,
+ name,
+ price,
+ tag,
+ }, false);
+ }
+ }
+
Render() {
return {
template: /* html */`
diff --git a/src/controllers/set-controller.js b/src/controllers/set-controller.js
index aa365c6..52189e7 100644
--- a/src/controllers/set-controller.js
+++ b/src/controllers/set-controller.js
@@ -95,7 +95,6 @@ async function GetSet(setId) {
}, {});
const set = dbres.rows[0];
- delete set.tag;
set.includedBricks = bricks;
set.tags = Array.from(tags);
set.type = 'set';