@xyo-network/os-react-runtime 4.2.0-rc.2 → 4.2.0-rc.4

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 +1 @@
1
- {"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../../../src/modules/Dapp/Page/Row.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAOtC,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,kBAAkB,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAC7C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAuC5C,CAAA;AAED,eAAO,MAAM,mBAAmB,ySAQ7B,CAAA"}
1
+ {"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../../../src/modules/Dapp/Page/Row.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAOtC,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,kBAAkB,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAC7C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAuC5C,CAAA;AAED,eAAO,MAAM,mBAAmB,ySAQ7B,CAAA"}
@@ -8,6 +8,7 @@ export interface DappWindowProps {
8
8
  dappSet?: RegisteredReactDappSet;
9
9
  dappState?: DappState;
10
10
  dappWallet?: WalletInstance;
11
+ errors?: Error[];
11
12
  intent?: DappIntent;
12
13
  nodeCreateError?: Error;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DappWindow.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/Dapp/modules/Window/DappWindow.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAIzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAkB,MAAM,OAAO,CAAA;AAOtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAOjD,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,eAAe,CAAC,EAAE,KAAK,CAAA;CACxB;AAED,gIAAgI;AAChI,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwHhD,CAAA"}
1
+ {"version":3,"file":"DappWindow.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/Dapp/modules/Window/DappWindow.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAIzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAkB,MAAM,OAAO,CAAA;AAOtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAOjD,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,eAAe,CAAC,EAAE,KAAK,CAAA;CACxB;AAED,gIAAgI;AAChI,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkHhD,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export * from './lib/index.ts';
2
2
  export * from './menu/index.ts';
3
3
  export * from './route/index.ts';
4
+ export * from './useDappMenuResourceValues.tsx';
4
5
  export * from './useDecomposeDappSet.js';
5
6
  export * from './useSkipLoadingScreen.js';
6
7
  export * from './useSyncOsRegisteredAccessInterfaces.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/Dapp/modules/Window/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0CAA0C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/Dapp/modules/Window/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0CAA0C,CAAA"}
@@ -1,8 +1,8 @@
1
- import type { DappIntent, XyOsContext } from '@xyo-network/os-model';
1
+ import type { DappIntent } from '@xyo-network/os-model';
2
2
  export interface DappState {
3
3
  active: boolean;
4
+ closed: boolean;
4
5
  minimized: boolean;
5
- open: boolean;
6
6
  }
7
- export declare const deriveDappState: (intent?: DappIntent, context?: XyOsContext | null) => DappState;
7
+ export declare const deriveDappState: (intent?: DappIntent) => DappState;
8
8
  //# sourceMappingURL=deriveDappState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deriveDappState.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/Dapp/modules/Window/hooks/lib/deriveDappState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGpE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;CACd;AAED,eAAO,MAAM,eAAe,YAAa,UAAU,YAAY,WAAW,GAAG,IAAI,KAAG,SAUnF,CAAA"}
1
+ {"version":3,"file":"deriveDappState.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/Dapp/modules/Window/hooks/lib/deriveDappState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGvD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,eAAe,YAAa,UAAU,KAAG,SAUrD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/os-react-runtime",
3
- "version": "4.2.0-rc.2",
3
+ "version": "4.2.0-rc.4",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -48,23 +48,23 @@
48
48
  "@xylabs/react-shared": "^5.3.14",
49
49
  "@xyo-network/archivist-indexeddb": "^3.6.6",
50
50
  "@xyo-network/archivist-model": "^3.6.6",
51
- "@xyo-network/bios-browser": "^4.2.0-rc.2",
52
- "@xyo-network/bios-model": "^4.2.0-rc.2",
51
+ "@xyo-network/bios-browser": "^4.2.0-rc.4",
52
+ "@xyo-network/bios-model": "^4.2.0-rc.4",
53
53
  "@xyo-network/diviner-boundwitness-indexeddb": "^3.6.6",
54
54
  "@xyo-network/diviner-model": "^3.6.6",
55
55
  "@xyo-network/diviner-payload-generic": "^3.6.6",
56
56
  "@xyo-network/diviner-payload-indexeddb": "^3.6.6",
57
57
  "@xyo-network/diviner-payload-model": "^3.6.6",
58
- "@xyo-network/kernel": "^4.2.0-rc.2",
59
- "@xyo-network/kernel-model": "^4.2.0-rc.2",
58
+ "@xyo-network/kernel": "^4.2.0-rc.4",
59
+ "@xyo-network/kernel-model": "^4.2.0-rc.4",
60
60
  "@xyo-network/module-event-emitter": "^3.6.6",
61
61
  "@xyo-network/module-events": "^3.6.6",
62
62
  "@xyo-network/module-factory-locator": "^3.6.6",
63
63
  "@xyo-network/node-model": "^3.6.6",
64
- "@xyo-network/os-model": "^4.2.0-rc.2",
65
- "@xyo-network/os-react-debug": "^4.2.0-rc.2",
66
- "@xyo-network/os-react-model": "^4.2.0-rc.2",
67
- "@xyo-network/os-runtime": "^4.2.0-rc.2",
64
+ "@xyo-network/os-model": "^4.2.0-rc.4",
65
+ "@xyo-network/os-react-debug": "^4.2.0-rc.4",
66
+ "@xyo-network/os-react-model": "^4.2.0-rc.4",
67
+ "@xyo-network/os-runtime": "^4.2.0-rc.4",
68
68
  "@xyo-network/payload-model": "^3.6.6",
69
69
  "@xyo-network/react-archivist": "^4.3.1",
70
70
  "@xyo-network/react-card": "^4.3.1",
@@ -24,9 +24,9 @@ export const DappContainer: React.FC<DappContainerProps> = ({
24
24
 
25
25
  const dappState = useMemo(() => {
26
26
  if (currentIntent?.targetDappId === dapp.config.name) {
27
- return deriveDappState(currentIntent, context)
27
+ return deriveDappState(currentIntent)
28
28
  }
29
- }, [currentIntent, context, dapp])
29
+ }, [currentIntent, dapp])
30
30
 
31
31
  return (
32
32
  <DappIconButton
@@ -1,4 +1,3 @@
1
- /* eslint-disable @eslint-react/no-array-index-key */
2
1
  import {
3
2
  Divider, Fade, styled,
4
3
  } from '@mui/material'
@@ -42,10 +41,10 @@ export const DappsRow: React.FC<DappsRowProps> = ({
42
41
  <Fade in={!!filteredRegisteredDappSets?.length} timeout={1000}>
43
42
  <StyledGridContainer>
44
43
  {filteredRegisteredDappSets?.map(
45
- (dappSet, index) => (
44
+ dappSet => (
46
45
  <DappContainerMemo
47
46
  currentIntent={intentPayload}
48
- key={index}
47
+ key={dappSet.dapp.config.name}
49
48
  dappSet={dappSet as RegisteredReactDappSet}
50
49
  xnsNodeUrl={xnsNodeUrl}
51
50
  xnsNetwork={xnsNetwork}
@@ -16,7 +16,7 @@ import { DappBar } from './AppBar.js'
16
16
  import { DappChrome } from './Chrome.js'
17
17
  import type { DappState } from './hooks/index.ts'
18
18
  import {
19
- decomposeDappSet, useDappMenu, useManageDappBasedOffRoute, useSyncOsRegisteredAccessInterfaces,
19
+ decomposeDappSet, useDappMenu, useSyncOsRegisteredAccessInterfaces,
20
20
  } from './hooks/index.ts'
21
21
  import { DappLoadingFlexbox } from './LoadingFlexbox.js'
22
22
  import { DappBottomNavigation, DappMenuDrawer } from './menu/index.ts'
@@ -26,35 +26,33 @@ export interface DappWindowProps {
26
26
  dappSet?: RegisteredReactDappSet
27
27
  dappState?: DappState
28
28
  dappWallet?: WalletInstance
29
+ errors?: Error[]
29
30
  intent?: DappIntent
30
31
  nodeCreateError?: Error
31
32
  }
32
33
 
33
34
  /** A component that can load immediately, but delays node loading and dapp mounting till corresponding launch intent arrives */
34
35
  export const DappWindow: React.FC<DappWindowProps> = ({
35
- context, dappSet, dappState, dappWallet, intent, nodeCreateError,
36
+ context, dappSet, dappState, dappWallet, errors, nodeCreateError,
36
37
  }) => {
37
38
  const {
38
39
  DappComponent, name, scrollable = true, version,
39
40
  } = decomposeDappSet(dappSet)
40
41
 
41
- const {
42
- active, minimized, open,
43
- } = dappState ?? {}
42
+ const { active, minimized } = dappState ?? {}
44
43
 
45
44
  const TypedDappComponent = useMemo(() => DappComponent as React.FC<{
46
45
  name?: string
47
46
  }>, [])
48
47
 
49
- // TODO - see if we can move this outside of the DappWindow component
50
- const errors = useManageDappBasedOffRoute(intent, name, context)
51
48
  useSyncOsRegisteredAccessInterfaces(context)
52
49
 
53
50
  const {
54
51
  activePath, error: menuError, menuConfig, menuItemsVisible, onPathChange,
55
52
  } = useDappMenu(context, name)
56
53
 
57
- const resolvedError = nodeCreateError || menuError
54
+ const resolvedErrors = [nodeCreateError, menuError, ...(errors ?? [])].filter(Boolean)
55
+ const hasErrors = resolvedErrors.length > 0
58
56
 
59
57
  return (
60
58
  <>
@@ -102,16 +100,13 @@ export const DappWindow: React.FC<DappWindowProps> = ({
102
100
  />
103
101
  )}
104
102
  /* Ensure that loading goes away when error occurs */
105
- splashScreen={resolvedError ? null : <DappLoadingFlexbox minimize={!!minimized} name={name} open={!!open} />}
103
+ splashScreen={hasErrors ? null : <DappLoadingFlexbox minimize={!!minimized} name={name} open={!!active} />}
106
104
  >
107
- {resolvedError || errors?.length > 0
105
+ {hasErrors
108
106
  ? (
109
107
  <FlexCol padding={2}>
110
- {resolvedError
111
- ? <ErrorRender error={resolvedError} scope="DappWindow" />
112
- : null}
113
- {errors.map((error, index) => (
114
- <ErrorRender key={index} error={error} scope="DappWindowErrors" />
108
+ {resolvedErrors?.map((error, index) => (
109
+ <ErrorRender key={index} error={error} scope="DappWindow" />
115
110
  ))}
116
111
  </FlexCol>
117
112
  )
@@ -1,6 +1,7 @@
1
1
  export * from './lib/index.ts'
2
2
  export * from './menu/index.ts'
3
3
  export * from './route/index.ts'
4
+ export * from './useDappMenuResourceValues.tsx'
4
5
  export * from './useDecomposeDappSet.js'
5
6
  export * from './useSkipLoadingScreen.js'
6
7
  export * from './useSyncOsRegisteredAccessInterfaces.js'
@@ -1,20 +1,20 @@
1
- import type { DappIntent, XyOsContext } from '@xyo-network/os-model'
1
+ import type { DappIntent } from '@xyo-network/os-model'
2
2
  import { DappIntentTypes } from '@xyo-network/os-model'
3
3
 
4
4
  export interface DappState {
5
5
  active: boolean
6
+ closed: boolean
6
7
  minimized: boolean
7
- open: boolean
8
8
  }
9
9
 
10
- export const deriveDappState = (intent?: DappIntent, context?: XyOsContext | null): DappState => {
10
+ export const deriveDappState = (intent?: DappIntent): DappState => {
11
11
  const minimized = intent?.intent === DappIntentTypes.Minimize
12
- const open = intent?.intent === DappIntentTypes.Launch
13
- const active = !!(context && open)
12
+ const active = intent?.intent === DappIntentTypes.Launch
13
+ const closed = intent?.intent === DappIntentTypes.Close
14
14
 
15
15
  return {
16
16
  active,
17
+ closed,
17
18
  minimized,
18
- open,
19
19
  }
20
20
  }
@@ -6,7 +6,7 @@ import {
6
6
  import { useNavigate, useParams } from 'react-router-dom'
7
7
 
8
8
  import { DappPathHelpers } from '../lib/index.ts'
9
- import { useDappMenuDependencies } from '../useDappMenuResourceValues.js'
9
+ import { useDappMenuDependencies } from '../useDappMenuResourceValues.tsx'
10
10
 
11
11
  /**
12
12
  * Use the passed in dapp Node to resolve menu related modules and return the menu related items