@xyo-network/react-network 2.25.61 → 2.25.64
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.
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback, useEffect } from 'react';
|
|
2
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
3
3
|
import { useSearchParams } from 'react-router-dom';
|
|
4
4
|
import { defaultNetworkConfigs, findNetworkConfig } from '../../lib';
|
|
5
5
|
import { NetworkContext } from '../Context';
|
|
6
6
|
import { useNetwork } from '../use';
|
|
7
7
|
import { NetworkMemoryProvider } from './Memory';
|
|
8
8
|
const NetworkRouteProviderInner = ({ children }) => {
|
|
9
|
+
const [initialized, setInitialized] = useState(false);
|
|
9
10
|
const { network, setNetwork } = useNetwork();
|
|
10
11
|
const [params, setParams] = useSearchParams();
|
|
11
12
|
const slug = params.get('network');
|
|
@@ -38,8 +39,9 @@ const NetworkRouteProviderInner = ({ children }) => {
|
|
|
38
39
|
setNetwork?.(routeNetwork);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
42
|
+
setInitialized(true);
|
|
41
43
|
}, [routeNetwork, network, setNetworkParam, setNetwork]);
|
|
42
|
-
return _jsx(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }, children: children });
|
|
44
|
+
return (_jsx(NetworkContext.Provider, { value: { network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }, children: initialized ? children : null }));
|
|
43
45
|
};
|
|
44
46
|
export const NetworkRouteProvider = ({ defaultNetwork, ...props }) => {
|
|
45
47
|
return (_jsx(NetworkMemoryProvider, { defaultNetwork: defaultNetwork, children: _jsx(NetworkRouteProviderInner, { ...props }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../../src/contexts/Provider/Route.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../../src/contexts/Provider/Route.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGhD,MAAM,yBAAyB,GAA2B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAA;IAE5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,eAAe,EAAE,CAAA;IAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE/D,wCAAwC;IACxC,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAA2B,EAAE,EAAE;QAC9B,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YACnC,SAAS,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YACpC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAA;SACtB;aAAM;YACL,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;SACzB;IACH,CAAC,EACD,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAChC,CAAA;IAED,kEAAkE;IAClE,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAA0B,EAAE,EAAE;QAC7B,eAAe,CAAC,OAAO,CAAC,CAAA;QACxB,UAAU,EAAE,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC,EACD,CAAC,eAAe,EAAE,UAAU,CAAC,CAC9B,CAAA;IAED,0CAA0C;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,KAAK,OAAO,EAAE;YAC5B,IAAI,YAAY,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE;gBACvD,kFAAkF;gBAClF,eAAe,CAAC,OAAO,CAAC,CAAA;aACzB;iBAAM,IAAI,YAAY,EAAE;gBACvB,6EAA6E;gBAC7E,UAAU,EAAE,CAAC,YAAY,CAAC,CAAA;aAC3B;SACF;QACD,cAAc,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,CAAA;IAExD,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,YACtH,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GACN,CAC3B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAiD,CAAC,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACjH,OAAO,CACL,KAAC,qBAAqB,IAAC,cAAc,EAAE,cAAc,YACnD,KAAC,yBAAyB,OAAK,KAAK,GAAI,GAClB,CACzB,CAAA;AACH,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@emotion/react": "^11.9.3",
|
|
14
14
|
"@emotion/styled": "^11.9.3",
|
|
15
|
-
"@mui/material": "^5.8.
|
|
16
|
-
"@xylabs/react-common": "^2.
|
|
17
|
-
"@xylabs/react-shared": "^2.
|
|
15
|
+
"@mui/material": "^5.8.4",
|
|
16
|
+
"@xylabs/react-common": "^2.14.3",
|
|
17
|
+
"@xylabs/react-shared": "^2.14.3",
|
|
18
18
|
"@xylabs/sdk-js": "^2.5.7",
|
|
19
19
|
"@xyo-network/network": "^2.20.45",
|
|
20
|
-
"@xyo-network/react-shared": "^2.25.
|
|
21
|
-
"react": "^18.
|
|
22
|
-
"react-dom": "^18.
|
|
20
|
+
"@xyo-network/react-shared": "^2.25.64",
|
|
21
|
+
"react": "^18.2.0",
|
|
22
|
+
"react-dom": "^18.2.0",
|
|
23
23
|
"react-router-dom": "^6.3.0",
|
|
24
24
|
"tslib": "^2.4.0"
|
|
25
25
|
},
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"resolutions": {
|
|
64
64
|
"@storybook/react/webpack": "^5",
|
|
65
65
|
"bn.js": "^5.2.0",
|
|
66
|
-
"react": "^18.
|
|
67
|
-
"react-dom": "^18.
|
|
66
|
+
"react": "^18.2.0",
|
|
67
|
+
"react-dom": "^18.2.0",
|
|
68
68
|
"webpack": "^5"
|
|
69
69
|
},
|
|
70
70
|
"publishConfig": {
|
|
@@ -80,6 +80,6 @@
|
|
|
80
80
|
},
|
|
81
81
|
"sideEffects": false,
|
|
82
82
|
"types": "dist/esm/index.d.ts",
|
|
83
|
-
"version": "2.25.
|
|
83
|
+
"version": "2.25.64",
|
|
84
84
|
"packageManager": "yarn@3.1.1"
|
|
85
85
|
}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { Card, CardContent } from '@mui/material'
|
|
2
2
|
import { ComponentMeta, ComponentStory } from '@storybook/react'
|
|
3
|
-
import { SelectExProps } from '@xylabs/react-common'
|
|
4
3
|
import { FlexCol } from '@xylabs/react-flexbox'
|
|
4
|
+
import { useEffect, useState } from 'react'
|
|
5
|
+
import { BrowserRouter } from 'react-router-dom'
|
|
5
6
|
|
|
6
|
-
import {
|
|
7
|
-
import { NetworkMemoryProvider, useNetwork } from '../../contexts'
|
|
7
|
+
import { NetworkMemoryProvider, NetworkRouteProvider, useNetwork } from '../../contexts'
|
|
8
8
|
import { NetworkSelectEx } from './NetworkSelectEx'
|
|
9
9
|
|
|
10
10
|
const StorybookEntry = {
|
|
11
|
-
argTypes: {
|
|
11
|
+
argTypes: {
|
|
12
|
+
responsive: {
|
|
13
|
+
defaultValue: false,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
12
16
|
component: NetworkSelectEx,
|
|
13
|
-
decorators: [authDecorator],
|
|
14
17
|
parameters: {
|
|
15
18
|
docs: {
|
|
16
19
|
page: null,
|
|
@@ -36,10 +39,7 @@ const Template: ComponentStory<typeof NetworkSelectEx> = (args) => {
|
|
|
36
39
|
return <NetworkSelectEx {...args}></NetworkSelectEx>
|
|
37
40
|
}
|
|
38
41
|
|
|
39
|
-
const
|
|
40
|
-
const combinedArgs = args as WrappedArgs & SelectExProps<string>
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
42
|
-
const { authState, ...props } = combinedArgs
|
|
42
|
+
const TemplateWithMemoryProvider: ComponentStory<typeof NetworkSelectEx> = (props) => {
|
|
43
43
|
return (
|
|
44
44
|
<NetworkMemoryProvider>
|
|
45
45
|
<NetworkSelectEx {...props}></NetworkSelectEx>
|
|
@@ -48,13 +48,53 @@ const TemplateWithProvider: ComponentStory<typeof NetworkSelectEx> = (args) => {
|
|
|
48
48
|
)
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
const TemplateWithRouteProvider: ComponentStory<typeof NetworkSelectEx> = (props) => {
|
|
52
|
+
const url = new URL(window.location.toString())
|
|
53
|
+
url.searchParams.set('network', 'main')
|
|
54
|
+
history.pushState({}, '', url)
|
|
55
|
+
return (
|
|
56
|
+
<BrowserRouter>
|
|
57
|
+
<NetworkRouteProvider>
|
|
58
|
+
<TemplateWithRouteProviderInner {...props} />
|
|
59
|
+
</NetworkRouteProvider>
|
|
60
|
+
</BrowserRouter>
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const TemplateWithRouteProviderInner: ComponentStory<typeof NetworkSelectEx> = (props) => {
|
|
65
|
+
const { network } = useNetwork()
|
|
66
|
+
const [uris, setUris] = useState<(string | undefined)[]>([])
|
|
67
|
+
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
setUris((previous) => [...previous, network?.nodes?.find((node) => node.type === 'archivist')?.uri])
|
|
70
|
+
}, [network?.nodes])
|
|
71
|
+
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (uris.length > 1) {
|
|
74
|
+
throw Error('Error: Route Provider sent multiple network uris but should only send one.')
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<>
|
|
80
|
+
<NetworkSelectEx {...props}></NetworkSelectEx>
|
|
81
|
+
{uris.map((uri) => (
|
|
82
|
+
<p key={uri}>{uri}</p>
|
|
83
|
+
))}
|
|
84
|
+
</>
|
|
85
|
+
)
|
|
86
|
+
}
|
|
87
|
+
|
|
51
88
|
const Default = Template.bind({})
|
|
52
89
|
Default.args = {}
|
|
53
90
|
|
|
54
|
-
const
|
|
55
|
-
|
|
91
|
+
const WithMemoryProvider = TemplateWithMemoryProvider.bind({})
|
|
92
|
+
WithMemoryProvider.args = {}
|
|
93
|
+
|
|
94
|
+
const WithRouteProvider = TemplateWithRouteProvider.bind({})
|
|
95
|
+
WithRouteProvider.args = {}
|
|
56
96
|
|
|
57
|
-
export { Default,
|
|
97
|
+
export { Default, WithMemoryProvider, WithRouteProvider }
|
|
58
98
|
|
|
59
99
|
// eslint-disable-next-line import/no-default-export
|
|
60
100
|
export default StorybookEntry
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WithChildren } from '@xylabs/react-shared'
|
|
2
2
|
import { XyoNetworkPayload } from '@xyo-network/network'
|
|
3
|
-
import { useCallback, useEffect } from 'react'
|
|
3
|
+
import { useCallback, useEffect, useState } from 'react'
|
|
4
4
|
import { useSearchParams } from 'react-router-dom'
|
|
5
5
|
|
|
6
6
|
import { defaultNetworkConfigs, findNetworkConfig } from '../../lib'
|
|
@@ -10,6 +10,7 @@ import { NetworkMemoryProvider } from './Memory'
|
|
|
10
10
|
import { NetworkProviderProps } from './Props'
|
|
11
11
|
|
|
12
12
|
const NetworkRouteProviderInner: React.FC<WithChildren> = ({ children }) => {
|
|
13
|
+
const [initialized, setInitialized] = useState(false)
|
|
13
14
|
const { network, setNetwork } = useNetwork()
|
|
14
15
|
|
|
15
16
|
const [params, setParams] = useSearchParams()
|
|
@@ -51,9 +52,14 @@ const NetworkRouteProviderInner: React.FC<WithChildren> = ({ children }) => {
|
|
|
51
52
|
setNetwork?.(routeNetwork)
|
|
52
53
|
}
|
|
53
54
|
}
|
|
55
|
+
setInitialized(true)
|
|
54
56
|
}, [routeNetwork, network, setNetworkParam, setNetwork])
|
|
55
57
|
|
|
56
|
-
return
|
|
58
|
+
return (
|
|
59
|
+
<NetworkContext.Provider value={{ network, networks: defaultNetworkConfigs, provided: true, setNetwork: setNetworkLocal }}>
|
|
60
|
+
{initialized ? children : null}
|
|
61
|
+
</NetworkContext.Provider>
|
|
62
|
+
)
|
|
57
63
|
}
|
|
58
64
|
|
|
59
65
|
export const NetworkRouteProvider: React.FC<WithChildren<NetworkProviderProps>> = ({ defaultNetwork, ...props }) => {
|