aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/decl/preact.d.ts4
-rw-r--r--lib/vendor/preact.js1
-rw-r--r--lib/wallet/renderHtml.tsx (renamed from lib/wallet/renderHtml.ts)27
3 files changed, 19 insertions, 13 deletions
diff --git a/lib/decl/preact.d.ts b/lib/decl/preact.d.ts
index fb8a0b764..dfa094e0e 100644
--- a/lib/decl/preact.d.ts
+++ b/lib/decl/preact.d.ts
@@ -56,12 +56,16 @@ declare namespace preact {
function h<PropsType>(node:ComponentConstructor<PropsType, any>, params:PropsType, ...children:(JSX.Element|string)[]):JSX.Element;
function h(node:string, params:JSX.HTMLAttributes|JSX.SVGAttributes, ...children:(JSX.Element|string)[]):JSX.Element;
+ function createElement<PropsType>(node:ComponentConstructor<PropsType, any>, params:PropsType, ...children:(JSX.Element|string)[]):JSX.Element;
+ function createElement(node:string, params:JSX.HTMLAttributes|JSX.SVGAttributes, ...children:(JSX.Element|string)[]):JSX.Element;
+
function render(node:JSX.Element, parent:Element, merge?:boolean):Element;
function rerender():void;
function cloneElement(element:JSX.Element, props:any):JSX.Element;
+
var options:{
syncComponentUpdates?:boolean;
debounceRendering?:(render:() => void) => void;
diff --git a/lib/vendor/preact.js b/lib/vendor/preact.js
index 3b06bb6af..e0239355e 100644
--- a/lib/vendor/preact.js
+++ b/lib/vendor/preact.js
@@ -460,6 +460,7 @@
render: function() {}
});
exports.h = h;
+ exports.createElement = h;
exports.cloneElement = cloneElement;
exports.Component = Component;
exports.render = render;
diff --git a/lib/wallet/renderHtml.ts b/lib/wallet/renderHtml.tsx
index 022bce113..f3059f940 100644
--- a/lib/wallet/renderHtml.ts
+++ b/lib/wallet/renderHtml.tsx
@@ -23,9 +23,6 @@
import {AmountJson, Contract} from "./types";
-
-let h = preact.h;
-
export function prettyAmount(amount: AmountJson) {
let v = amount.value + amount.fraction / 1e6;
return `${v.toFixed(2)} ${amount.currency}`;
@@ -35,15 +32,19 @@ export function renderContract(contract: Contract): JSX.Element {
let merchantName = m("strong", contract.merchant.name);
let amount = m("strong", prettyAmount(contract.amount));
- return h("div", {},
- h("p", {},
- i18n.parts`${merchantName}
+ return (
+ <div>
+ <p>{
+ i18n.parts`${merchantName}
wants to enter a contract over ${amount}
- with you.`),
- h("p", {},
- i18n`You are about to purchase:`),
- h('ul', {},
- ...contract.products.map(
- (p: any) => h("li", {},
- `${p.description}: ${prettyAmount(p.price)}`))));
+ with you.`}
+ </p>
+ <p>{i18n`You are about to purchase:`}</p>
+ <ul>
+ {contract.products.map(
+ (p: any) => (<li>{`${p.description}: ${prettyAmount(p.price)}`}</li>))
+ }
+ </ul>
+ </div>
+ );
} \ No newline at end of file