diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-08-27 04:19:11 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-08-27 04:19:11 +0200 |
commit | 24181bdf20e0d23ec5ec5d2eaa08ae1cfb905f0f (patch) | |
tree | 98fc0ddbdc6c5589604ce7eac4a23d9a148f2f5c /src/webex/renderHtml.tsx | |
parent | 8697efd2c8751717a3a3fcaf72feb7c49ebfec02 (diff) | |
download | wallet-core-24181bdf20e0d23ec5ec5d2eaa08ae1cfb905f0f.tar.xz |
better error report / retry prompt for failed payments
Diffstat (limited to 'src/webex/renderHtml.tsx')
-rw-r--r-- | src/webex/renderHtml.tsx | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/webex/renderHtml.tsx b/src/webex/renderHtml.tsx index fe964e68a..2a5b50533 100644 --- a/src/webex/renderHtml.tsx +++ b/src/webex/renderHtml.tsx @@ -91,3 +91,40 @@ export function abbrev(s: string, n: number = 5) { </span> ); } + + + +interface CollapsibleState { + collapsed: boolean; +} + +interface CollapsibleProps { + initiallyCollapsed: boolean; + title: string; +} + +export class Collapsible extends React.Component<CollapsibleProps, CollapsibleState> { + constructor(props: CollapsibleProps) { + super(props); + this.state = { collapsed: props.initiallyCollapsed }; + } + render() { + const doOpen = (e: any) => { + this.setState({collapsed: false}); + e.preventDefault(); + }; + const doClose = (e: any) => { + this.setState({collapsed: true}); + e.preventDefault(); + }; + if (this.state.collapsed) { + return <h2><a className="opener opener-collapsed" href="#" onClick={doOpen}>{this.props.title}</a></h2>; + } + return ( + <div> + <h2><a className="opener opener-open" href="#" onClick={doClose}>{this.props.title}</a></h2> + {this.props.children} + </div> + ); + } +} |