gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-merchant-backoffice] 01/02: fix routing for non-default instance


From: gnunet
Subject: [taler-merchant-backoffice] 01/02: fix routing for non-default instance
Date: Tue, 29 Jun 2021 20:56:07 +0200

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository merchant-backoffice.

commit 22feef1aa742a613d77e6f29f1f4cd9dadf68490
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Tue Jun 29 15:54:18 2021 -0300

    fix routing for non-default instance
---
 packages/frontend/src/ApplicationReadyRoutes.tsx | 20 +++++++++++---------
 packages/frontend/src/hooks/order.ts             | 10 +++++++---
 packages/frontend/src/hooks/product.ts           | 10 +++++++---
 3 files changed, 25 insertions(+), 15 deletions(-)

diff --git a/packages/frontend/src/ApplicationReadyRoutes.tsx 
b/packages/frontend/src/ApplicationReadyRoutes.tsx
index 7c17895..7439a2d 100644
--- a/packages/frontend/src/ApplicationReadyRoutes.tsx
+++ b/packages/frontend/src/ApplicationReadyRoutes.tsx
@@ -29,6 +29,7 @@ import { NotYetReadyAppMenu, Menu, NotificationCard } from 
'./components/menu';
 import { useTranslator } from './i18n';
 import { createHashHistory } from 'history';
 import { useState } from 'preact/hooks';
+import { CreateStockNoRestock } from './components/form/InputStock.stories';
 
 export function ApplicationReadyRoutes(): VNode {
   const i18n = useTranslator();
@@ -61,6 +62,9 @@ export function ApplicationReadyRoutes(): VNode {
 
   if (result.loading) return <NotYetReadyAppMenu title="Loading..." />
 
+  let admin = true
+  let instanceNameByBackendURL = undefined
+
   if (!result.ok) {
     const path = new URL(backendURL).pathname
     const match = INSTANCE_ID_LOOKUP.exec(path)
@@ -80,24 +84,22 @@ export function ApplicationReadyRoutes(): VNode {
       </Fragment>
     }
 
-    return <Fragment>
-      <Menu instance={match[1]} onLogout={clearTokenAndGoToRoot} 
setInstanceName={() => null} />
-      <InstanceRoutes id={match[1]} setInstanceName={() => null} />
-    </Fragment>
+    admin = false
+    instanceNameByBackendURL = match[1]
   }
 
   const history = createHashHistory()
   return <Router history={history}>
-    <Route default component={DefaultMainRoute} 
clearTokenAndGoToRoot={clearTokenAndGoToRoot} />
+    <Route default component={DefaultMainRoute} 
clearTokenAndGoToRoot={clearTokenAndGoToRoot} admin={admin} 
instanceNameByBackendURL={instanceNameByBackendURL} />
   </Router>
 }
 
-function DefaultMainRoute({ clearTokenAndGoToRoot, instance }: any) {
-  const [instanceName, setInstanceName] = useState(instance || 'default')
+function DefaultMainRoute({ clearTokenAndGoToRoot, instance, admin, 
instanceNameByBackendURL }: any) {
+  const [instanceName, setInstanceName] = useState(instanceNameByBackendURL || 
instance || 'default')
 
   return <Fragment>
-    <Menu instance={instanceName} admin onLogout={clearTokenAndGoToRoot} 
setInstanceName={setInstanceName} />
-    <InstanceRoutes admin id={instanceName} setInstanceName={setInstanceName} 
/>
+    <Menu instance={instanceName} admin={admin} 
onLogout={clearTokenAndGoToRoot} setInstanceName={setInstanceName} />
+    <InstanceRoutes admin={admin} id={instanceName} 
setInstanceName={setInstanceName} />
   </Fragment>
 
 }
diff --git a/packages/frontend/src/hooks/order.ts 
b/packages/frontend/src/hooks/order.ts
index b81058a..a0d7916 100644
--- a/packages/frontend/src/hooks/order.ts
+++ b/packages/frontend/src/hooks/order.ts
@@ -108,10 +108,14 @@ export function useOrderAPI(): OrderAPI {
 }
 
 export function useOrderDetails(oderId: string): 
HttpResponse<MerchantBackend.Orders.MerchantOrderStatusResponse> {
-  const { url: baseUrl } = useBackendContext();
-  const { token, id: instanceId, admin } = useInstanceContext();
+  const { url: baseUrl, token: baseToken } = useBackendContext();
+  const { token: instanceToken, id, admin } = useInstanceContext();
 
-  const url = !admin ? baseUrl : `${baseUrl}/instances/${instanceId}`
+  const { url, token } = !admin ? {
+    url: baseUrl, token: baseToken
+  } : {
+    url: `${baseUrl}/instances/${id}`, token: instanceToken
+  };
 
   const { data, error, isValidating } = 
useSWR<HttpResponseOk<MerchantBackend.Orders.MerchantOrderStatusResponse>, 
HttpError>([`/private/orders/${oderId}`, token, url], fetcher, {
     refreshInterval:0,
diff --git a/packages/frontend/src/hooks/product.ts 
b/packages/frontend/src/hooks/product.ts
index 6bc131d..edba27b 100644
--- a/packages/frontend/src/hooks/product.ts
+++ b/packages/frontend/src/hooks/product.ts
@@ -173,10 +173,14 @@ export function useInstanceProducts(): 
HttpResponse<(MerchantBackend.Products.Pr
 }
 
 export function useProductDetails(productId: string): 
HttpResponse<MerchantBackend.Products.ProductDetail> {
-  const { url: baseUrl } = useBackendContext();
-  const { token, id: instanceId, admin } = useInstanceContext();
+  const { url: baseUrl, token: baseToken } = useBackendContext();
+  const { token: instanceToken, id, admin } = useInstanceContext();
 
-  const url = !admin ? baseUrl : `${baseUrl}/instances/${instanceId}`
+  const { url, token } = !admin ? {
+    url: baseUrl, token: baseToken
+  } : {
+    url: `${baseUrl}/instances/${id}`, token: instanceToken
+  };
 
   const { data, error, isValidating } = 
useSWR<HttpResponseOk<MerchantBackend.Products.ProductDetail>, HttpError>(
     [`/private/products/${productId}`, token, url], fetcher, {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]