Skip to content

Commit 91be0bb

Browse files
committed
hide debug wallet by default
1 parent 5980b0e commit 91be0bb

File tree

8 files changed

+38
-27
lines changed

8 files changed

+38
-27
lines changed

packages/example/craco.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ module.exports = {
1616
typescript: { enableTypeChecking: false },
1717
webpack: {
1818
configure: (config) => {
19+
config.ignoreWarnings = [/Failed to parse source map/];
1920
config.plugins.unshift(
2021
new webpack.ProvidePlugin({
2122
Buffer: ["buffer", "Buffer"],

packages/example/package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,12 @@
5252
"@types/react-dom": "18.0.5",
5353
"babel-loader": "^8.2.5",
5454
"babel-preset-react-app": "^10.0.1",
55+
"react-dev-utils": "^12.0.1",
5556
"typescript": "^4.7.2",
5657
"webpack": "^5.72.1"
5758
},
59+
"resolutions": {
60+
"@solana/buffer-layout": "^4"
61+
},
5862
"repository": "[email protected]:GokiProtocol/walletkit.git"
5963
}

packages/example/src/App.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { css } from "@emotion/react";
12
import { WalletKitProvider } from "@gokiprotocol/walletkit";
23

34
import { Body } from "./Body";
@@ -20,7 +21,18 @@ const App: React.FC = () => {
2021
defaultNetwork="devnet"
2122
app={{
2223
name: "My App",
24+
icon: (
25+
<img
26+
css={css`
27+
width: 48px;
28+
height: 48px;
29+
`}
30+
src="https://goki.so/assets/android-chrome-256x256.png"
31+
alt="icon"
32+
/>
33+
),
2334
}}
35+
debugMode={false} // you may want to set this in REACT_APP_DEBUG_MODE
2436
>
2537
<Body />
2638
</WalletKitProvider>

packages/walletkit/src/WalletKitProvider.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export const WalletKitProvider: React.FC<Props> = ({
2424
children,
2525
app,
2626
initialStep = ModalStep.Intro,
27+
debugMode = false,
2728
...solanaProviderArgs
2829
}: Props) => {
2930
const [showWalletSelector, setShowWalletSelector] = useState<boolean>(false);
@@ -40,6 +41,7 @@ export const WalletKitProvider: React.FC<Props> = ({
4041
initialStep={initialStep}
4142
isOpen={showWalletSelector}
4243
onDismiss={() => setShowWalletSelector(false)}
44+
debugMode={debugMode}
4345
/>
4446
{children}
4547
</WalletKitContext.Provider>

packages/walletkit/src/components/WalletSelectorModal/WalletStepSelect/index.tsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export interface ProviderInfo {
1515
mustInstall: boolean;
1616
}
1717

18-
const getWalletProviders = (): readonly ProviderInfo[] => {
18+
const getWalletProviders = (debugMode = false): readonly ProviderInfo[] => {
1919
const base = (
2020
Object.entries(DEFAULT_WALLET_PROVIDERS) as readonly [
2121
DefaultWalletType,
@@ -49,8 +49,12 @@ const getWalletProviders = (): readonly ProviderInfo[] => {
4949
),
5050
})
5151
)
52-
// no secret key for now
53-
.filter((p) => p.type !== DefaultWalletType.SecretKey);
52+
.filter((p) =>
53+
debugMode
54+
? true
55+
: p.type !== DefaultWalletType.SecretKey &&
56+
p.type !== DefaultWalletType.ReadOnly
57+
);
5458
return [
5559
...base,
5660
{
@@ -69,11 +73,13 @@ const getWalletProviders = (): readonly ProviderInfo[] => {
6973
interface Props {
7074
onSelect?: (info: ProviderInfo) => void;
7175
onInstall?: (info: WalletProviderInfo) => void;
76+
debugMode?: boolean;
7277
}
7378

7479
export const WalletStepSelect: React.FC<Props> = ({
7580
onSelect,
7681
onInstall,
82+
debugMode,
7783
}: Props) => {
7884
const [showUninstalled, setShowUninstalled] = useState<boolean>(false);
7985
const [providerInfo, setProviderInfo] = useState<readonly ProviderInfo[]>(
@@ -83,10 +89,10 @@ export const WalletStepSelect: React.FC<Props> = ({
8389
useEffect(() => {
8490
// wait a second for everything to load
8591
const timeout = setTimeout(() => {
86-
setProviderInfo(getWalletProviders());
92+
setProviderInfo(getWalletProviders(debugMode));
8793
}, 1_000);
8894
return () => clearTimeout(timeout);
89-
}, []);
95+
}, [debugMode]);
9096

9197
return (
9298
<>

packages/walletkit/src/components/WalletSelectorModal/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export const WalletSelectorModal: React.FC<Props> = ({
3232
app,
3333
onWalletKitError = defaultOnWalletKitError,
3434
initialStep = ModalStep.Intro,
35+
debugMode,
3536
...modalProps
3637
}: Props) => {
3738
const appIcon = useMemo(() => app.icon ?? <DefaultAppIcon />, [app.icon]);
@@ -92,6 +93,7 @@ export const WalletSelectorModal: React.FC<Props> = ({
9293
)}
9394
{step === ModalStep.Select && (
9495
<WalletStepSelect
96+
debugMode={debugMode}
9597
// eslint-disable-next-line @typescript-eslint/no-misused-promises
9698
onSelect={async (info) => {
9799
// Allow the wallet to disconnect before attempting to reconnect.

packages/walletkit/src/types.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@ export interface WalletKitArgs {
2626
* Called when an error occurs.
2727
*/
2828
onWalletKitError?: (err: Error) => void;
29+
/**
30+
* Whether or not to display the debug and secret key wallets in the list.
31+
*/
32+
debugMode?: boolean;
2933
}

yarn.lock

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3731,6 +3731,7 @@ __metadata:
37313731
jsbi: "npm:^4.3.0"
37323732
polished: "npm:^4.2.2"
37333733
react: "npm:^18.1.0"
3734+
react-dev-utils: "npm:^12.0.1"
37343735
react-dom: "npm:^18.1.0"
37353736
react-scripts: "npm:5.0.1"
37363737
tiny-invariant: "npm:^1.2.0"
@@ -9084,28 +9085,7 @@ __metadata:
90849085
languageName: node
90859086
linkType: hard
90869087

9087-
"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001251":
9088-
version: 1.0.30001252
9089-
resolution: "caniuse-lite@npm:1.0.30001252"
9090-
checksum: 01a27bbbb2d6651f84845792677e4f6b23a9abda58885eddf2c826d83c8a6d093b272c9a2a4b3fc9c59d9f31a79292b14bd6da3915bc924fc04483d1d0cb7daa
9091-
languageName: node
9092-
linkType: hard
9093-
9094-
"caniuse-lite@npm:^1.0.30001272, caniuse-lite@npm:^1.0.30001286, caniuse-lite@npm:^1.0.30001291":
9095-
version: 1.0.30001294
9096-
resolution: "caniuse-lite@npm:1.0.30001294"
9097-
checksum: 8e4e4dd2abd48bda5b13ca32e3326ec95d00a03b17cbfd8b41ec49abe170006a6a0cfdc3aba2257ccab745054e717d0443db1a43d537e14d6fbdeba98d45e0e9
9098-
languageName: node
9099-
linkType: hard
9100-
9101-
"caniuse-lite@npm:^1.0.30001280":
9102-
version: 1.0.30001282
9103-
resolution: "caniuse-lite@npm:1.0.30001282"
9104-
checksum: ad726093371677e4415c5ec527c6ac5da80da0dfb85b9bc4229998ffcfecb8c75668bc62bbfe261c71c9d37eb29a7204373f00efbe8ccdd8ce012353919974bb
9105-
languageName: node
9106-
linkType: hard
9107-
9108-
"caniuse-lite@npm:^1.0.30001332":
9088+
"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001251, caniuse-lite@npm:^1.0.30001272, caniuse-lite@npm:^1.0.30001280, caniuse-lite@npm:^1.0.30001286, caniuse-lite@npm:^1.0.30001291, caniuse-lite@npm:^1.0.30001332":
91099089
version: 1.0.30001344
91109090
resolution: "caniuse-lite@npm:1.0.30001344"
91119091
checksum: 0144ec3e40a06ce363cf3cc4e69fe2520b91b828a280b4b258254e1b3e34c6bd0aec1c0bfd7e208e76f6d5c91707e7ee554d025cf2f24785d9b32f5557c16de0

0 commit comments

Comments
 (0)