From d828bcf1c4032d48819128f39de400267e726eb6 Mon Sep 17 00:00:00 2001
From: Eduardo <orthmann2811@gmail.com>
Date: Tue, 26 Mar 2024 10:44:06 -0300
Subject: [PATCH] add plugin props

---
 locales/de.json                               |  3 +++
 locales/en.json                               |  3 +++
 .../[locale]/wallet/plugins/[plugin]/page.tsx | 19 +++++++++++++++++--
 3 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/locales/de.json b/locales/de.json
index f7d42c9..6f0e869 100644
--- a/locales/de.json
+++ b/locales/de.json
@@ -133,5 +133,8 @@
   "Issuance": {
     "title": "Ausgabe",
     "select": "Wählen"
+  },
+  "Plugin": {
+    "not-found": "Plugin nicht gefunden"
   }
 }
diff --git a/locales/en.json b/locales/en.json
index f877637..b212499 100644
--- a/locales/en.json
+++ b/locales/en.json
@@ -133,5 +133,8 @@
   "Issuance": {
     "title": "Issuance",
     "select": "Select"
+  },
+  "Plugin": {
+    "not-found": "Plugin not found"
   }
 }
\ No newline at end of file
diff --git a/src/app/[locale]/wallet/plugins/[plugin]/page.tsx b/src/app/[locale]/wallet/plugins/[plugin]/page.tsx
index 673eeab..0d144a7 100644
--- a/src/app/[locale]/wallet/plugins/[plugin]/page.tsx
+++ b/src/app/[locale]/wallet/plugins/[plugin]/page.tsx
@@ -3,6 +3,8 @@
 import { RemoteComponent } from '@/RemoteComponent';
 import { type Plugin as IPlugin } from '@/components/side-menu/WalletSideMenu';
 import { useQueryClient } from '@tanstack/react-query';
+import { useTranslations } from 'next-intl';
+import { useAuth } from 'oidc-react';
 import { useEffect, useState } from 'react';
 
 interface PluginProps {
@@ -14,6 +16,13 @@ interface PluginProps {
 const Plugin = ({ params }: PluginProps): JSX.Element => {
   const [PluginComponent, setPluginComponent] = useState<JSX.Element>();
   const pluginDiscoveryData = useQueryClient().getQueryData<IPlugin[]>(['pluginDiscovery']);
+  const t = useTranslations('Plugin');
+  const { userData } = useAuth();
+  const pluginMetadata = {
+    example1: 'Example 1',
+    example2: 'Example 2',
+    example3: 'Example 3',
+  };
 
   const fetchPluginData = (pluginDiscovery: IPlugin[], pluginRoute: string): void => {
     const foundPlugin = pluginDiscovery.find(plugin => plugin.route === pluginRoute);
@@ -22,12 +31,18 @@ const Plugin = ({ params }: PluginProps): JSX.Element => {
       process.env.NODE_ENV !== 'development' ? process.env.ENV_URL : 'https://cloud-wallet.xfsc.dev'
     }/api/dynamic/plugins${foundPlugin?.url}/main.js`;
 
-    setPluginComponent(<RemoteComponent url={url} />);
+    setPluginComponent(
+      <RemoteComponent
+        url={url}
+        token={userData?.access_token}
+        metadata={pluginMetadata}
+      />
+    );
   };
 
   useEffect(() => {
     if (!pluginDiscoveryData) {
-      setPluginComponent(<div>Plugin not found</div>);
+      setPluginComponent(<div>{t('not-found')}</div>);
     } else {
       fetchPluginData(pluginDiscoveryData, params.plugin);
     }
-- 
GitLab