@ckb-ccc/connector-react 0.0.17-alpha.6 → 0.0.17-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/hooks/useCcc.d.ts +2 -0
- package/dist/hooks/useCcc.d.ts.map +1 -1
- package/dist/hooks/useCcc.js +11 -5
- package/package.json +1 -1
- package/src/hooks/useCcc.tsx +14 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ckb-ccc/connector-react
|
|
2
2
|
|
|
3
|
+
## 0.0.17-alpha.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#78](https://github.com/ckb-ecofund/ccc/pull/78) [`517dd3a`](https://github.com/ckb-ecofund/ccc/commit/517dd3a28a0d6bf14df68450101f82e94a230801) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(connector-react): useCcc().isOpen
|
|
8
|
+
|
|
3
9
|
## 0.0.17-alpha.6
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/dist/hooks/useCcc.d.ts
CHANGED
|
@@ -17,7 +17,9 @@ export declare function Provider({ children, connectorProps, hideMark, name, ico
|
|
|
17
17
|
preferredNetworks?: ccc.NetworkPreference[];
|
|
18
18
|
}): React.JSX.Element;
|
|
19
19
|
export declare function useCcc(): {
|
|
20
|
+
isOpen: boolean;
|
|
20
21
|
open: () => unknown;
|
|
22
|
+
close: () => unknown;
|
|
21
23
|
disconnect: () => unknown;
|
|
22
24
|
setClient: (client: ccc.Client) => unknown;
|
|
23
25
|
client: ccc.Client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCcc.d.ts","sourceRoot":"","sources":["../../src/hooks/useCcc.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,EAAE,EAEZ,cAAc,EACd,SAAS,EAQV,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useCcc.d.ts","sourceRoot":"","sources":["../../src/hooks/useCcc.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,EAAE,EAEZ,cAAc,EACd,SAAS,EAQV,MAAM,OAAO,CAAC;AA4Cf,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,iBAAiB,GAClB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,CACb,UAAU,EAAE,GAAG,CAAC,UAAU,EAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAC1C,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtE,iBAAiB,CAAC,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;CAC7C,qBA8FA;AAED,wBAAgB,MAAM;YAhKR,OAAO;UACT,MAAM,OAAO;WACZ,MAAM,OAAO;gBACR,MAAM,OAAO;eACd,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,OAAO;YAClC,GAAG,CAAC,MAAM;aACT,GAAG,CAAC,MAAM;iBACN,GAAG,CAAC,UAAU;EAiKhC"}
|
package/dist/hooks/useCcc.js
CHANGED
|
@@ -19,12 +19,16 @@ export function Provider({ children, connectorProps, hideMark, name, icon, signe
|
|
|
19
19
|
const [ref, setRef] = useState(null);
|
|
20
20
|
const [isOpen, setIsOpen] = useState(false);
|
|
21
21
|
const [_, setFlag] = useState(0);
|
|
22
|
-
const
|
|
22
|
+
const defaultSignersController = useRef(undefined);
|
|
23
23
|
const client = useMemo(() => ref?.client ?? new ccc.ClientPublicTestnet(), [ref?.client]);
|
|
24
24
|
const open = useCallback(() => {
|
|
25
25
|
setIsOpen(true);
|
|
26
26
|
ref?.requestUpdate();
|
|
27
27
|
}, [setIsOpen, ref, ref?.requestUpdate]);
|
|
28
|
+
const close = useCallback(() => {
|
|
29
|
+
setIsOpen(false);
|
|
30
|
+
ref?.requestUpdate();
|
|
31
|
+
}, [setIsOpen, ref, ref?.requestUpdate]);
|
|
28
32
|
const disconnect = useMemo(() => ref?.disconnect.bind(ref) ?? (() => { }), [ref, ref?.disconnect]);
|
|
29
33
|
const setClient = useMemo(() => ref?.setClient.bind(ref) ?? (() => { }), [ref, ref?.setClient]);
|
|
30
34
|
useEffect(() => {
|
|
@@ -33,22 +37,24 @@ export function Provider({ children, connectorProps, hideMark, name, icon, signe
|
|
|
33
37
|
}
|
|
34
38
|
}, [setClient]);
|
|
35
39
|
useEffect(() => {
|
|
36
|
-
if (!
|
|
37
|
-
|
|
40
|
+
if (!defaultSignersController.current) {
|
|
41
|
+
defaultSignersController.current = new SignersControllerWithFilter(signerFilter);
|
|
38
42
|
}
|
|
39
43
|
else {
|
|
40
|
-
|
|
44
|
+
defaultSignersController.current.filter = signerFilter;
|
|
41
45
|
}
|
|
42
46
|
}, [signerFilter]);
|
|
43
47
|
return (React.createElement(CCC_CONTEXT.Provider, { value: {
|
|
48
|
+
isOpen,
|
|
44
49
|
open,
|
|
50
|
+
close,
|
|
45
51
|
disconnect,
|
|
46
52
|
setClient,
|
|
47
53
|
client,
|
|
48
54
|
wallet: ref?.wallet,
|
|
49
55
|
signerInfo: ref?.signer,
|
|
50
56
|
} },
|
|
51
|
-
React.createElement(Connector, { hideMark: hideMark, name: name, icon: icon, signersController: signersController ??
|
|
57
|
+
React.createElement(Connector, { hideMark: hideMark, name: name, icon: icon, signersController: signersController ?? defaultSignersController.current, ref: setRef, onWillUpdate: () => setFlag((f) => f + 1), onClose: close, preferredNetworks: preferredNetworks, clientOptions: clientOptions, ...connectorProps,
|
|
52
58
|
style: {
|
|
53
59
|
zIndex: 999,
|
|
54
60
|
...(isOpen ? {} : { display: "none" }),
|
package/package.json
CHANGED
package/src/hooks/useCcc.tsx
CHANGED
|
@@ -15,7 +15,9 @@ import { Connector } from "../components/index.js";
|
|
|
15
15
|
|
|
16
16
|
const CCC_CONTEXT = createContext<
|
|
17
17
|
| {
|
|
18
|
+
isOpen: boolean;
|
|
18
19
|
open: () => unknown;
|
|
20
|
+
close: () => unknown;
|
|
19
21
|
disconnect: () => unknown;
|
|
20
22
|
setClient: (client: ccc.Client) => unknown;
|
|
21
23
|
client: ccc.Client;
|
|
@@ -81,7 +83,7 @@ export function Provider({
|
|
|
81
83
|
const [ref, setRef] = useState<ccc.WebComponentConnector | null>(null);
|
|
82
84
|
const [isOpen, setIsOpen] = useState(false);
|
|
83
85
|
const [_, setFlag] = useState(0);
|
|
84
|
-
const
|
|
86
|
+
const defaultSignersController = useRef<
|
|
85
87
|
SignersControllerWithFilter | undefined
|
|
86
88
|
>(undefined);
|
|
87
89
|
|
|
@@ -93,6 +95,10 @@ export function Provider({
|
|
|
93
95
|
setIsOpen(true);
|
|
94
96
|
ref?.requestUpdate();
|
|
95
97
|
}, [setIsOpen, ref, ref?.requestUpdate]);
|
|
98
|
+
const close = useCallback(() => {
|
|
99
|
+
setIsOpen(false);
|
|
100
|
+
ref?.requestUpdate();
|
|
101
|
+
}, [setIsOpen, ref, ref?.requestUpdate]);
|
|
96
102
|
const disconnect = useMemo(
|
|
97
103
|
() => ref?.disconnect.bind(ref) ?? (() => {}),
|
|
98
104
|
[ref, ref?.disconnect],
|
|
@@ -108,19 +114,21 @@ export function Provider({
|
|
|
108
114
|
}
|
|
109
115
|
}, [setClient]);
|
|
110
116
|
useEffect(() => {
|
|
111
|
-
if (!
|
|
112
|
-
|
|
117
|
+
if (!defaultSignersController.current) {
|
|
118
|
+
defaultSignersController.current = new SignersControllerWithFilter(
|
|
113
119
|
signerFilter,
|
|
114
120
|
);
|
|
115
121
|
} else {
|
|
116
|
-
|
|
122
|
+
defaultSignersController.current.filter = signerFilter;
|
|
117
123
|
}
|
|
118
124
|
}, [signerFilter]);
|
|
119
125
|
|
|
120
126
|
return (
|
|
121
127
|
<CCC_CONTEXT.Provider
|
|
122
128
|
value={{
|
|
129
|
+
isOpen,
|
|
123
130
|
open,
|
|
131
|
+
close,
|
|
124
132
|
disconnect,
|
|
125
133
|
setClient,
|
|
126
134
|
|
|
@@ -134,11 +142,11 @@ export function Provider({
|
|
|
134
142
|
name={name}
|
|
135
143
|
icon={icon}
|
|
136
144
|
signersController={
|
|
137
|
-
signersController ??
|
|
145
|
+
signersController ?? defaultSignersController.current
|
|
138
146
|
}
|
|
139
147
|
ref={setRef}
|
|
140
148
|
onWillUpdate={() => setFlag((f) => f + 1)}
|
|
141
|
-
onClose={
|
|
149
|
+
onClose={close}
|
|
142
150
|
preferredNetworks={preferredNetworks}
|
|
143
151
|
clientOptions={clientOptions}
|
|
144
152
|
{...{
|