From b7cf3d44aa891b396e5946b90b27c550bb16c26c Mon Sep 17 00:00:00 2001 From: Ben <36240171+benkyd@users.noreply.github.com> Date: Fri, 29 Apr 2022 04:35:14 +0100 Subject: [PATCH] orders Former-commit-id: df0cca4571f50a90d7da755bab48e06c4051bce7 --- README.md | Bin 7736 -> 9912 bytes client/public/auth.mjs | 14 +- client/public/basket/index.html | 2 +- client/public/checkout/index.html | 2 +- client/public/components/basket-popout.mjs | 2 +- client/public/components/checkout.mjs | 6 +- client/public/components/components.mjs | 2 + client/public/components/css/order.css | 233 ++++++++++++++++++ ...ble-basket-list.mjs => immutable-list.mjs} | 40 ++- client/public/components/navbar.mjs | 35 +-- client/public/components/order-list.mjs | 60 +++++ client/public/components/order.mjs | 129 ++++++++++ client/public/featured/index.html | 2 +- client/public/index.html | 2 +- client/public/orders/index.html | 37 +++ client/public/orders/order/index.html | 37 +++ client/public/product/index.html | 2 +- client/public/search/index.html | 2 +- db/schema.sql | 29 ++- src/controllers/order-controller.js | 142 ++++++++++- src/routes/api.js | 4 +- src/routes/order-router.js | 70 +++++- 22 files changed, 776 insertions(+), 76 deletions(-) create mode 100644 client/public/components/css/order.css rename client/public/components/{immutable-basket-list.mjs => immutable-list.mjs} (72%) create mode 100644 client/public/components/order-list.mjs create mode 100644 client/public/components/order.mjs create mode 100644 client/public/orders/index.html create mode 100644 client/public/orders/order/index.html diff --git a/README.md b/README.md index fe17397fe8bbe2ff78faa058090266e57dddb8b7..de33908f8bdd02121b2d819b9b3af824598b7f70 100644 GIT binary patch delta 2200 zcmZvd%}x|i5QU44AsAhVEJO@#Sg;vD62nRpkx1|dA!y>l7&FW?(4ptYnVuO~_1cYjM%p&V*{ZPh{LgFG7tjPAmN;?3IiperjF9O!DuwyF0_?h`SG6U+h93{0Bx+tAvIvhqRD-`Gd7T(V8uvvu3n`xo2M z^Ltws3O_@IAlV2q@Ju?HK_1+bIJR#B?^nQOaUcu$qB?faQ%6B4F*>9qH?`N*IuyM` z=n+83C$`+f!r4U@TkT4q6FDTCNPSs5>$gDz25DWfW@;0)(37}}pxiUv+kKvGoETXTGyr3=@=_n|R40}^=OZeERd_sSu zXPP3WlxPTN*V&G<(^ib zw*wi{{*AE_-QiQ$^#vSPhHD8Jh}Z`jGp8<>h?eo@bH1%R0IEK!^d?;u{~rJPx?l@B zwJO0p*L_D(5kyZEiNLj~DCF4t54y~FV*6ll{GmCt;^T-euNA8gW^zR5QPY5m*1Gzo zVQdri`XKWz<2=#(p?Y1#g%RWW`q=ZdS2#jH>zAkA(cK6*F_p#N^9zB_#_zyy=kQo2~ delta 135 zcmdntyTfLK6vyT(oK?d7E)0nbB|w}6#KjD$lWT<~HA@&W7*ZJ&7@Qc27%~}>8M1*g z3Jm!SX+Sa&h=YN$B@Da_T$9C>mQL1CHPH3~iYEg_vw^bSK$QhRHb~!JAU_SrF9Om~ PQzwV3ns1(?D#Hi>QraEO diff --git a/client/public/auth.mjs b/client/public/auth.mjs index d7977c4..a81f562 100644 --- a/client/public/auth.mjs +++ b/client/public/auth.mjs @@ -7,11 +7,13 @@ const AUTH0CONFIG = { }; let auth0 = null; +let ready = false; async function CheckRedirect() { const isAuthenticated = await auth0.isAuthenticated(); if (isAuthenticated) { localStorage.setItem('loggedIn', true); + ready = true; return; } @@ -23,6 +25,7 @@ async function CheckRedirect() { } catch (e) { window.alert(e.message || 'authentication error, sorry'); localStorage.setItem('loggedIn', false); + ready = false; Signout(); } @@ -32,9 +35,7 @@ async function CheckRedirect() { } export async function InitAuth0() { - // localStorage.setItem('loggedIn', false); - // localStorage.setItem('user', 'Guest'); - // localStorage.setItem('admin', false); + ready = false; auth0 = await window.createAuth0Client({ domain: AUTH0CONFIG.domain, @@ -50,6 +51,7 @@ export async function InitAuth0() { localStorage.setItem('user', user.given_name || user.nickname); NotifyNavbar('login', user); localStorage.setItem('loggedIn', true); + ready = true; // tell the server about the logon, so that it can make the proper // entry in the database, if there is for example an address @@ -69,6 +71,11 @@ export async function InitAuth0() { } export async function GetToken() { + /* eslint-disable-next-line */ + while (!ready) { + await new Promise(resolve => setTimeout(resolve, 100)); + } + const token = await auth0.getTokenSilently(); return token; } @@ -90,6 +97,7 @@ export async function LoginSignup() { export async function Signout() { localStorage.setItem('loggedIn', false); + ready = false; localStorage.setItem('user', 'Guest'); localStorage.setItem('admin', false); await auth0.logout({ diff --git a/client/public/basket/index.html b/client/public/basket/index.html index c46bece..11018d9 100644 --- a/client/public/basket/index.html +++ b/client/public/basket/index.html @@ -20,7 +20,7 @@ - + diff --git a/client/public/checkout/index.html b/client/public/checkout/index.html index fa6c7ac..b61df1d 100644 --- a/client/public/checkout/index.html +++ b/client/public/checkout/index.html @@ -19,7 +19,7 @@ - + diff --git a/client/public/components/basket-popout.mjs b/client/public/components/basket-popout.mjs index c17c69b..762d5af 100644 --- a/client/public/components/basket-popout.mjs +++ b/client/public/components/basket-popout.mjs @@ -66,7 +66,7 @@ class BasketPopout extends Component { {this.state.total} Items