diff --git a/web/cashtab/public/index.html b/web/cashtab/public/index.html
index ffcbccbaf..e639ce3ec 100644
--- a/web/cashtab/public/index.html
+++ b/web/cashtab/public/index.html
@@ -1,47 +1,47 @@
-
+
- CashTab
+ Cashtab
You need to enable JavaScript to run this app.
diff --git a/web/cashtab/public/manifest.json b/web/cashtab/public/manifest.json
index 720f411a0..14ab8d04d 100644
--- a/web/cashtab/public/manifest.json
+++ b/web/cashtab/public/manifest.json
@@ -1,35 +1,35 @@
{
- "short_name": "CashTab",
- "name": "CashTab",
+ "short_name": "Cashtab",
+ "name": "Cashtab",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "bch48.png",
"type": "image/png",
"sizes": "48x48"
},
{
"src": "bch128.png",
"type": "image/png",
"sizes": "128x128"
},
{
"src": "bch192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "bch512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
diff --git a/web/cashtab/scripts/extension.sh b/web/cashtab/scripts/extension.sh
index fe70fbbea..d30cede7f 100755
--- a/web/cashtab/scripts/extension.sh
+++ b/web/cashtab/scripts/extension.sh
@@ -1,64 +1,64 @@
#!/usr/bin/env bash
export LC_ALL=C
set -euo pipefail
-# Build CashTab as a Chrome/Brave browser extension
+# Build Cashtab as a Chrome/Brave browser extension
# Create a working directory for stashing non-extension files
WORKDIR=$(mktemp -d)
echo Using workdir ${WORKDIR}
# Delete workdir on script finish
function cleanup {
echo Deleting workdir ${WORKDIR}
rm -rf "${WORKDIR}"
}
trap cleanup EXIT
# Stash web files that require extension changes in workdir
mv public/manifest.json ${WORKDIR}
mv src/components/App.js ${WORKDIR}
mv src/components/App.css ${WORKDIR}
# Move extension src files into place for npm build
cp extension/src/assets/popout.svg src/assets/
cp extension/public/manifest.json public/
cp extension/src/components/App.js src/components/
cp extension/src/components/App.css src/components/
# Delete the last extension build
if [ -d "extension/dist/" ]; then rm -Rf extension/dist/; fi
# Build the extension
mkdir extension/dist/
echo 'Building Extension...'
# Required for extension build rules
export INLINE_RUNTIME_CHUNK=false
export GENERATE_SOURCEMAP=false
npm run build
# Copy extension build files to extension/ folder
cp -r build/* extension/dist
# Browserify contentscript.js and background.js to pull in their imports
browserify extension/src/contentscript.js -o extension/dist/contentscript.js
browserify extension/src/background.js -o extension/dist/background.js
# Delete extension build from build/ folder (reserved for web app builds)
rm -Rf build
# Replace original web files
rm src/assets/popout.svg
rm public/manifest.json
rm src/components/App.js
rm src/components/App.css
# Note, src/assets/popout.svg does not need to be replaced, not used by web app
mv ${WORKDIR}/manifest.json public/
mv ${WORKDIR}/App.js src/components/
mv ${WORKDIR}/App.css src/components/
echo 'Extension built and web files replaced!'
\ No newline at end of file
diff --git a/web/cashtab/src/components/OnBoarding/OnBoarding.js b/web/cashtab/src/components/OnBoarding/OnBoarding.js
index 27f285d91..ee93a636e 100644
--- a/web/cashtab/src/components/OnBoarding/OnBoarding.js
+++ b/web/cashtab/src/components/OnBoarding/OnBoarding.js
@@ -1,137 +1,137 @@
import React, { useState } from 'react';
import styled from 'styled-components';
import { WalletContext } from '@utils/context';
import { Input, Form, Modal } from 'antd';
import {
ExclamationCircleOutlined,
PlusSquareOutlined,
ImportOutlined,
LockOutlined,
} from '@ant-design/icons';
import StyledOnboarding from '@components/Common/StyledOnBoarding';
import PrimaryButton, {
SecondaryButton,
SmartButton,
} from '@components/Common/PrimaryButton';
import { currency } from '@components/Common/Ticker.js';
import { Event } from '@utils/GoogleAnalytics';
export const WelcomeText = styled.p`
color: #444;
width: 100%;
font-size: 16px;
margin-bottom: 60px;
text-align: left;
`;
export const OnBoarding = ({ history }) => {
const ContextValue = React.useContext(WalletContext);
const { createWallet, validateMnemonic } = ContextValue;
const [formData, setFormData] = useState({
dirty: true,
mnemonic: '',
});
const [seedInput, openSeedInput] = useState(false);
const [isValidMnemonic, setIsValidMnemonic] = useState(false);
const { confirm } = Modal;
async function submit() {
setFormData({
...formData,
dirty: false,
});
if (!formData.mnemonic) {
return;
}
// Event("Category", "Action", "Label")
// Track number of created wallets from onboarding
Event('Onboarding.js', 'Create Wallet', 'Imported');
createWallet(formData.mnemonic);
}
const handleChange = e => {
const { value, name } = e.target;
// Validate mnemonic on change
// Import button should be disabled unless mnemonic is valid
setIsValidMnemonic(validateMnemonic(value));
setFormData(p => ({ ...p, [name]: value }));
};
function showBackupConfirmModal() {
confirm({
title: "Don't forget to back up your wallet",
icon: ,
content: `Once your wallet is created you can back it up by writing down your 12-word seed. You can find your seed on the Settings page. If you are browsing in Incognito mode or if you clear your browser history, you will lose any funds that are not backed up!`,
okText: 'Okay, make me a wallet!',
onOk() {
// Event("Category", "Action", "Label")
// Track number of created wallets from onboarding
Event('Onboarding.js', 'Create Wallet', 'New');
createWallet();
},
});
}
return (
<>
- Welcome to CashTab! CashTab is an open source, non-custodial web
+ Welcome to Cashtab! Cashtab is an open source, non-custodial web
wallet for {currency.name}.
Web wallets offer user convenience, but storing large amounts of
money on a web wallet is not recommended.
Create a new wallet below to get started, or import an existing
wallet using a seed phrase.
showBackupConfirmModal()}>
New Wallet
openSeedInput(!seedInput)}>
Import Wallet
{seedInput && (
}
placeholder="mnemonic (seed phrase)"
name="mnemonic"
autoComplete="off"
onChange={e => handleChange(e)}
required
/>
submit()}
>
Import
)}
>
);
};
diff --git a/web/cashtab/src/components/Wallet/__tests__/__snapshots__/Wallet.test.js.snap b/web/cashtab/src/components/Wallet/__tests__/__snapshots__/Wallet.test.js.snap
index 284c44d2e..4ae96d9cf 100644
--- a/web/cashtab/src/components/Wallet/__tests__/__snapshots__/Wallet.test.js.snap
+++ b/web/cashtab/src/components/Wallet/__tests__/__snapshots__/Wallet.test.js.snap
@@ -1,488 +1,488 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Wallet with BCH balances 1`] = `
Array [
0.06047469
BCHA
,
$
NaN
USD
,
,
,
View Transactions
,
]
`;
exports[`Wallet with BCH balances and tokens 1`] = `
Array [
0.06047469
BCHA
,
$
NaN
USD
,
,
,
View Transactions
,
,
]
`;
exports[`Wallet without BCH balance 1`] = `
Array [
🎉
Congratulations on your new wallet!
🎉
Start using the wallet immediately to receive
BCHA
payments, or load it up with
BCHA
to send to others
,
0
BCHA
,
,
,
]
`;
exports[`Without wallet defined 1`] = `
Array [
- Welcome to CashTab! CashTab is an open source, non-custodial web wallet for
+ Welcome to Cashtab! Cashtab is an open source, non-custodial web wallet for
Bitcoin ABC
.
Web wallets offer user convenience, but storing large amounts of money on a web wallet is not recommended.
Create a new wallet below to get started, or import an existing wallet using a seed phrase.
,
New Wallet
,
Import Wallet
,
]
`;