mirror of
https://github.com/fullstack-cash/wallet.fullstack.cash.git
synced 2026-09-21 16:52:05 -07:00
Forked from PSF version of the repo
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
About
|
||||
*/
|
||||
|
||||
import React from 'react'
|
||||
import { Row, Col, Content, Box } from 'adminlte-2-react'
|
||||
|
||||
class About extends React.Component {
|
||||
render () {
|
||||
return (
|
||||
<Content
|
||||
title='About'
|
||||
subTitle=''
|
||||
browserTitle='About | wallet.fullstack.cash'
|
||||
>
|
||||
<Row>
|
||||
<Col xs={12}>
|
||||
<Box
|
||||
title='wallet.fullstack.cash'
|
||||
type='primary'
|
||||
closable
|
||||
collapsable
|
||||
>
|
||||
<p>
|
||||
This is the official web wallet provided by{' '}
|
||||
<a
|
||||
href='https://fullstack.cash'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
FullStack.cash
|
||||
</a>
|
||||
. You can access this web wallet over Tor and IPFS. See the
|
||||
links in the footer at the bottom of the page.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This wallet app can be used as a normal wallet, but it's real
|
||||
purpose is to serve as 'boilerplate' application that JavaScript
|
||||
developers can fork and customize to build their own ideas.
|
||||
Learn more about the code and infrastructure powering this
|
||||
wallet at{' '}
|
||||
<a
|
||||
href='https://fullstack.cash'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
FullStack.cash
|
||||
</a>{' '}
|
||||
Please solicit feedback on this app in our{' '}
|
||||
<a
|
||||
href='https://t.me/bch_js_toolkit'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
Telegram Channel
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The code for this web wallet can be found{' '}
|
||||
<a
|
||||
href='https://github.com/Permissionless-Software-Foundation/wallet.fullstack.cash'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
on GitHub
|
||||
</a>
|
||||
. It's based on the{' '}
|
||||
<a
|
||||
href='https://github.com/Permissionless-Software-Foundation/bch-wallet-starter'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
bch-wallet-starter Gatsby Starter
|
||||
</a>
|
||||
, the{' '}
|
||||
<a
|
||||
href='https://github.com/Permissionless-Software-Foundation/gatsby-ipfs-web-wallet'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
gatsby-ipfs-web-wallet Gatsby Theme
|
||||
</a>
|
||||
, and the{' '}
|
||||
<a
|
||||
href='https://github.com/Permissionless-Software-Foundation/minimal-slp-wallet'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
minimal-slp-wallet
|
||||
</a>{' '}
|
||||
wallet engine. We encourage other businesses to copy and modify
|
||||
the wallet code for their own use.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This wallet has full support for Bitcoin Cash (BCH) and eCash
|
||||
(BCHA) blockchains. That includes SLP tokens, including
|
||||
nonfungible tokens (NFT) on both blockchains. When a transaction
|
||||
is made with this wallet, an output of 2000 satoshis is added.
|
||||
This is a convenience fee that goes towards burning PSF tokens.
|
||||
It helps support the developers who work on this web wallet and
|
||||
other software sponsored by the{' '}
|
||||
<a
|
||||
href='https://psfoundation.cash'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
Permissionless Software Foundation
|
||||
</a>
|
||||
.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This app can be compiled into a native Android or iOS app using{' '}
|
||||
<a
|
||||
href='https://react-freelancer.ch/blog/build-mobile-apps-using-gatsby-and-capacitor'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
Capacitor
|
||||
</a>
|
||||
. The Android APK for this app can be{' '}
|
||||
<a
|
||||
href='https://github.com/Permissionless-Software-Foundation/wallet.fullstack.cash'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
downloaded from the GitHub repository
|
||||
</a>
|
||||
. But, the Android app will run into rate limits unless you add
|
||||
a JWT token from FullStack.cash into the Configuration View. We
|
||||
don't actively support use of this web app as a phone app, but
|
||||
instead provide the APK as proof
|
||||
that other businesses can fork this wallet app to kick-off
|
||||
development of their own phone app.
|
||||
</p>
|
||||
</Box>
|
||||
</Col>
|
||||
</Row>
|
||||
</Content>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default About
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
This is a demonstration component. It helps to show how you can create new
|
||||
menu items and Views in your own BCH web wallet dashboard app.
|
||||
|
||||
This file controls the View (the part on the right side of the dashboard) of
|
||||
the component. The menu item is controlled by the menu-components.js file.
|
||||
*/
|
||||
|
||||
import React from 'react'
|
||||
import { Row, Col, Content, Box, Button } from 'adminlte-2-react'
|
||||
|
||||
class DemoComponent extends React.Component {
|
||||
render () {
|
||||
return (
|
||||
<Content
|
||||
title='Demo Component'
|
||||
subTitle='Getting started with adminlte-2-react'
|
||||
browserTitle='Demo Component'
|
||||
>
|
||||
<Row>
|
||||
<Col xs={12}>
|
||||
<Box
|
||||
title='A Box'
|
||||
type='primary'
|
||||
closable
|
||||
collapsable
|
||||
footer={<Button type='danger' text='Danger Button' />}
|
||||
>
|
||||
This is the View portion of the Demo Component. This view is
|
||||
controlled by the src/demo-component/index.js file.
|
||||
</Box>
|
||||
</Col>
|
||||
</Row>
|
||||
</Content>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default DemoComponent
|
||||
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
This file is how you add new menu items to your site. It uses the Gatsby
|
||||
concept of Component Shadowing:
|
||||
https://www.gatsbyjs.org/blog/2019-04-29-component-shadowing/
|
||||
|
||||
It over-rides he default file in the gatsby-ipfs-web-wallet Theme.
|
||||
*/
|
||||
|
||||
import React from 'react'
|
||||
import { Sidebar } from 'adminlte-2-react'
|
||||
|
||||
import Wallet from 'fullstack-gatsby-theme-bch-wallet/src/components/admin-lte/wallet'
|
||||
import Tokens from 'fullstack-gatsby-theme-bch-wallet/src/components/admin-lte/tokens'
|
||||
import Configure from 'fullstack-gatsby-theme-bch-wallet/src/components/admin-lte/configure'
|
||||
import SendReceive from 'fullstack-gatsby-theme-bch-wallet/src/components/admin-lte/send-receive'
|
||||
|
||||
import About from '../../about'
|
||||
import Sweep from 'gatsby-plugin-bch-sweep/src/components/sweep/index'
|
||||
import CreateToken from 'gatsby-plugin-bch-create-token/src/components/create-token'
|
||||
|
||||
const { Item } = Sidebar
|
||||
|
||||
const MenuComponents = props => {
|
||||
return [
|
||||
{
|
||||
key: 'Tokens',
|
||||
component: <Tokens key='Tokens' {...props} />,
|
||||
menuItem: <Item icon='fas-coins' key='Tokens' text='Tokens' />
|
||||
},
|
||||
{
|
||||
key: 'Send/Receive BCH',
|
||||
component: <SendReceive key='Send/Receive BCH' {...props} />,
|
||||
menuItem: (
|
||||
<Item
|
||||
icon='fa-exchange-alt'
|
||||
key='Send/Receive BCH'
|
||||
text='Send/Receive BCH'
|
||||
/>
|
||||
)
|
||||
},
|
||||
{
|
||||
key: 'Sweep',
|
||||
component: <Sweep key='Sweep' {...props} />,
|
||||
menuItem: <Item icon='fas-arrow-circle-up' key='Sweep' text='Sweep' />
|
||||
},
|
||||
{
|
||||
key: 'Wallet',
|
||||
component: <Wallet key='Wallet' interface='rest-api' {...props} />,
|
||||
// component: <Wallet key="Wallet" interface="consumer-api" {...props} />,
|
||||
menuItem: <Item icon='fa-wallet' key='Wallet' text='Wallet' />
|
||||
},
|
||||
{
|
||||
key: 'Create Token',
|
||||
component: <CreateToken key='Create Token' {...props} />,
|
||||
menuItem: (
|
||||
<Item icon='fas-plus-square' key='Create Token' text='Create Token' />
|
||||
)
|
||||
},
|
||||
{
|
||||
key: 'Configure',
|
||||
component: <Configure key='Configure' {...props} />,
|
||||
menuItem: <Item icon='fas-cog' key='Configure' text='Configure' />
|
||||
},
|
||||
{
|
||||
key: 'About',
|
||||
component: <About key='About' {...props} />,
|
||||
menuItem: <Item icon='fas-question' key='About' text='About' />
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
export default MenuComponents
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
This file is intended to be overwritten. It provides a common place to store
|
||||
site configuration data.
|
||||
*/
|
||||
|
||||
const config = {
|
||||
title: 'FullStack.cash',
|
||||
titleShort: 'PSF',
|
||||
balanceText: 'BCH Balance',
|
||||
balanceIcon: 'fab-bitcoin',
|
||||
|
||||
// The BCH address used in a memo.cash account. Used for tracking the IPFS
|
||||
// hash of the mirror of this site.
|
||||
memoAddr: 'bitcoincash:qq8mk8etntclfdkny2aknh4ylc0uaewalszh5eytnr',
|
||||
|
||||
// Footer Information
|
||||
hostText: 'FullStack.cash',
|
||||
hostUrl: 'https://fullstack.cash/',
|
||||
sourceCode: 'https://github.com/Permissionless-Software-Foundation/wallet.fullstack.cash',
|
||||
torUrl: '6akyufxp2fiyqk5526kwxvas63xo5kag657jlztnaqnemjctkfp2xhid.onion',
|
||||
clearWebUrl: 'https://wallet.fullstack.cash'
|
||||
}
|
||||
|
||||
module.exports = config
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
import React from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
// import { withPrefix, Link } from 'gatsby'
|
||||
|
||||
// window && typeof window !== 'undefined' && window.test = 'testing'
|
||||
|
||||
export default function HTML (props) {
|
||||
return (
|
||||
<html {...props.htmlAttributes}>
|
||||
<head>
|
||||
<meta charSet='utf-8' />
|
||||
<meta httpEquiv='x-ua-compatible' content='ie=edge' />
|
||||
<meta
|
||||
name='viewport'
|
||||
content='width=device-width, initial-scale=1, shrink-to-fit=no'
|
||||
/>
|
||||
|
||||
{/* Loading animation should be loaded very first thing. */}
|
||||
<div
|
||||
className='test'
|
||||
key='loader'
|
||||
id='___loader'
|
||||
style={{
|
||||
alignItems: 'center',
|
||||
backgroundColor: '#F2F2F2',
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
position: 'absolute',
|
||||
left: 0,
|
||||
top: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
zIndex: 9000,
|
||||
flexDirection: 'column'
|
||||
}}
|
||||
>
|
||||
<img src='https://i.imgur.com/8n8PYAi.gif' alt='' width='250' />
|
||||
Loading...
|
||||
</div>
|
||||
|
||||
{/* minimal-slp-wallet-web */}
|
||||
{/* <script src='https://unpkg.com/minimal-slp-wallet@3.6.1' /> */}
|
||||
<script src='https://unpkg.com/minimal-slp-wallet' />
|
||||
|
||||
{/* bch-message-lib */}
|
||||
<script src='https://unpkg.com/bch-message-lib' />
|
||||
|
||||
{/* bch-token-sweep */}
|
||||
<script src='https://unpkg.com/bch-token-sweep' />
|
||||
|
||||
{props.headComponents}
|
||||
</head>
|
||||
<body {...props.bodyAttributes}>
|
||||
{props.preBodyComponents}
|
||||
<div
|
||||
key='body'
|
||||
id='___gatsby'
|
||||
dangerouslySetInnerHTML={{ __html: props.body }}
|
||||
/>
|
||||
{props.postBodyComponents}
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
|
||||
HTML.propTypes = {
|
||||
htmlAttributes: PropTypes.object,
|
||||
headComponents: PropTypes.array,
|
||||
bodyAttributes: PropTypes.object,
|
||||
preBodyComponents: PropTypes.array,
|
||||
body: PropTypes.string,
|
||||
postBodyComponents: PropTypes.array
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
Reference in New Issue
Block a user