gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] branch master updated: added fake header to stories


From: gnunet
Subject: [taler-wallet-core] branch master updated: added fake header to stories
Date: Fri, 16 Jul 2021 17:00:49 +0200

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

sebasjm pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 56902288 added fake header to stories
56902288 is described below

commit 56902288c6ce498cdfbd80ac9036cd457872a73b
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Fri Jul 16 12:00:39 2021 -0300

    added fake header to stories
---
 .../.storybook/preview.js                          | 36 +++++++++++++---
 .../src/components/styled/index.tsx                | 19 ++++++++
 .../src/popup/Balance.stories.tsx                  |  4 +-
 .../src/popup/BalancePage.tsx                      |  3 +-
 .../src/popup/Popup.stories.tsx                    | 50 ++++++++++++++++++++++
 .../taler-wallet-webextension/src/popup/popup.tsx  | 23 +++++-----
 6 files changed, 112 insertions(+), 23 deletions(-)

diff --git a/packages/taler-wallet-webextension/.storybook/preview.js 
b/packages/taler-wallet-webextension/.storybook/preview.js
index 0fda6ac0..af768dde 100644
--- a/packages/taler-wallet-webextension/.storybook/preview.js
+++ b/packages/taler-wallet-webextension/.storybook/preview.js
@@ -15,7 +15,9 @@
  */
 
 import { setupI18n } from "@gnu-taler/taler-util"
+import { Fragment } from "preact"
 import { strings } from '../src/i18n/strings.ts'
+import { NavBar } from '../src/popup/popup'
 
 const mockConfig = {
   backendURL: 'http://demo.taler.net',
@@ -45,12 +47,28 @@ export const globalTypes = {
 
 
 export const decorators = [
-  (Story, { globals }) => {
-    setupI18n(globals.locale, strings);
-    return <Story />
-  },
   (Story, { kind }) => {
     if (kind.startsWith('popup')) {
+      
+      function Body() {
+        const isTestingHeader = (/.*\/header\/?.*/.test(kind));
+        if (isTestingHeader) {
+          // simple box with correct width and height
+          return <div style={{ width: 400, height: 320 }}>
+            <Story />
+          </div>
+        } else {
+          const path = !isTestingHeader ? /popup(\/.*)\/.*/.exec(kind)[1] : ''
+          // add a fake header so it looks similar
+          return <Fragment>
+            <NavBar path={path} devMode={path === '/dev'} />
+            <div style={{ padding: 8, width: 'calc(400px - 16px)', height: 
'calc(320px - 34px - 16px)' }}>
+              <Story />
+            </div>
+          </Fragment>
+        }
+      }
+
       return <div class="popup-container">
         <style>{`
         html {
@@ -78,8 +96,8 @@ export const decorators = [
           font-family: Arial, Helvetica, sans-serif;
         }`}
         </style>
-        <div style={{ padding: 8, width: 'calc(400px - 16px - 2px)', height: 
'calc(320px - 34px - 16px - 2px)', border: 'black solid 1px' }}>
-          <Story />
+        <div style={{ width: 400, border: 'black solid 1px' }}>
+          <Body />
         </div>
       </div>
     }
@@ -94,6 +112,10 @@ export const decorators = [
       <h1>this story is not under wallet or popup, check title property</h1>
       <Story />
     </div>
-  }
+  },
+  (Story, { globals }) => {
+    setupI18n(globals.locale, strings);
+    return <Story />
+  },
   //   (Story) => <ConfigContextProvider value={mockConfig}> <Story /> 
</ConfigContextProvider>
 ];
diff --git a/packages/taler-wallet-webextension/src/components/styled/index.tsx 
b/packages/taler-wallet-webextension/src/components/styled/index.tsx
index 11a0d014..8afbb6c9 100644
--- a/packages/taler-wallet-webextension/src/components/styled/index.tsx
+++ b/packages/taler-wallet-webextension/src/components/styled/index.tsx
@@ -240,4 +240,23 @@ export const ErrorBox = styled.div`
     }
   }
 `
+export const PopupNavigation = styled.div`
+  background-color: #033;
+  
+  & > a {
+    color: #f8faf7;
+    padding-top: 0.7em;
+    display: inline-block;
+    width: calc(400px / 5);
+    padding-bottom: 0.7em;
+    text-align: center;
+    text-decoration: none;
+  }
+
+  & > a.active {
+    background-color: #f8faf7;
+    color: #000;
+    font-weight: bold;
 
+  }
+`
diff --git a/packages/taler-wallet-webextension/src/popup/Balance.stories.tsx 
b/packages/taler-wallet-webextension/src/popup/Balance.stories.tsx
index b661ac67..a1b5e7c5 100644
--- a/packages/taler-wallet-webextension/src/popup/Balance.stories.tsx
+++ b/packages/taler-wallet-webextension/src/popup/Balance.stories.tsx
@@ -19,9 +19,7 @@
 * @author Sebastian Javier Marchano (sebasjm)
 */
 
-import { ProviderPaymentType } from '@gnu-taler/taler-wallet-core';
-import { addDays } from 'date-fns';
-import { ComponentChild, ComponentChildren, FunctionalComponent, h } from 
'preact';
+import { ComponentChildren, FunctionalComponent, h } from 'preact';
 import { BalanceView as TestedComponent } from './BalancePage';
 
 export default {
diff --git a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx 
b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
index 24744d3f..cff17af1 100644
--- a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
+++ b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx
@@ -16,7 +16,6 @@
 
 import {
   amountFractionalBase, Amounts,
-
   Balance, BalancesResponse,
   i18n
 } from "@gnu-taler/taler-util";
@@ -41,7 +40,7 @@ export function BalanceView({ balance, Linker }: 
BalanceViewProps) {
 
   if (balance.error) {
     return (
-      <div class="balance">
+      <div>
         <p>{i18n.str`Error: could not retrieve balance information.`}</p>
         <p>
           Click <Linker pageName="welcome.html">here</Linker> for help and
diff --git a/packages/taler-wallet-webextension/src/popup/Popup.stories.tsx 
b/packages/taler-wallet-webextension/src/popup/Popup.stories.tsx
new file mode 100644
index 00000000..ec3634d9
--- /dev/null
+++ b/packages/taler-wallet-webextension/src/popup/Popup.stories.tsx
@@ -0,0 +1,50 @@
+/*
+ This file is part of GNU Taler
+ (C) 2021 Taler Systems S.A.
+
+ GNU Taler is free software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 3, or (at your option) any later version.
+
+ GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with
+ GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
+ */
+
+/**
+*
+* @author Sebastian Javier Marchano (sebasjm)
+*/
+
+import { Fragment, FunctionalComponent } from 'preact';
+import { NavBar as TestedComponent } from './popup';
+
+export default {
+  title: 'popup/header',
+  // component: TestedComponent,
+  argTypes: {
+    onRetry: { action: 'onRetry' },
+    onDelete: { action: 'onDelete' },
+    onBack: { action: 'onBack' },
+  }
+};
+
+
+function createExample<Props>(Component: FunctionalComponent<Props>, props: 
Partial<Props>) {
+  const r = (args: any) => <Component {...args} />
+  r.args = props
+  return r
+}
+
+export const OnBalance = createExample(TestedComponent, {
+  devMode:false,
+  path:'/balance'
+});
+
+export const OnHistoryWithDevMode = createExample(TestedComponent, {
+  devMode:true,
+  path:'/history'
+});
diff --git a/packages/taler-wallet-webextension/src/popup/popup.tsx 
b/packages/taler-wallet-webextension/src/popup/popup.tsx
index f7b3cec9..32ff10a8 100644
--- a/packages/taler-wallet-webextension/src/popup/popup.tsx
+++ b/packages/taler-wallet-webextension/src/popup/popup.tsx
@@ -28,6 +28,7 @@ import { i18n } from "@gnu-taler/taler-util";
 import { ComponentChildren, JSX } from "preact";
 import Match from "preact-router/match";
 import { useDevContext } from "../context/useDevContext";
+import { PopupNavigation } from '../components/styled'
 
 export enum Pages {
   balance = '/balance',
@@ -58,18 +59,18 @@ function Tab(props: TabProps): JSX.Element {
   );
 }
 
+export function NavBar({devMode, path}:{path:string, devMode:boolean}) {
+  return <PopupNavigation>
+    <Tab target="/balance" current={path}>{i18n.str`Balance`}</Tab>
+    <Tab target="/history" current={path}>{i18n.str`History`}</Tab>
+    <Tab target="/backup" current={path}>{i18n.str`Backup`}</Tab>
+    <Tab target="/settings" current={path}>{i18n.str`Settings`}</Tab>
+    {devMode && <Tab target="/dev" current={path}>{i18n.str`Dev`}</Tab>}
+  </PopupNavigation>
+}
+
 export function WalletNavBar() {
   const { devMode } = useDevContext()
-  return <Match>{({ path }: any) => {
-    return (
-      <div class="nav" id="header">
-        <Tab target="/balance" current={path}>{i18n.str`Balance`}</Tab>
-        <Tab target="/history" current={path}>{i18n.str`History`}</Tab>
-        <Tab target="/backup" current={path}>{i18n.str`Backup`}</Tab>
-        <Tab target="/settings" current={path}>{i18n.str`Settings`}</Tab>
-        {devMode && <Tab target="/dev" current={path}>{i18n.str`Dev`}</Tab>}
-      </div>
-    )
-  }}</Match>
+  return <Match>{({ path }: any) => <NavBar devMode={devMode} path={path} 
/>}</Match>
 }
 

-- 
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]