@nu-art/thunderstorm-frontend 0.401.5 → 0.401.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.
@@ -8,6 +8,9 @@ import { OnSyncStatusChangedListener } from '../../core/db-api-gen/types.js';
8
8
  type Props = React.PropsWithChildren<{
9
9
  modules: ResolvableContent<(ModuleFE_BaseDB<any>)[]>;
10
10
  customLoader?: ResolvableContent<React.ReactNode, [AwaitModule_LoaderProps]>;
11
+ customMissingPermissionsRenderer?: ResolvableContent<React.ReactNode, [{
12
+ modules: ModuleFE_BaseDB<any>[];
13
+ }]>;
11
14
  }>;
12
15
  type State = {
13
16
  validModules: (ModuleFE_BaseDB<any>)[];
@@ -32,7 +35,7 @@ export declare class AwaitModules extends ComponentSync<Props, State> implements
32
35
  protected deriveStateFromProps(nextProps: Props, state: State): State;
33
36
  protected getUnpreparedModules(): (ModuleFE_BaseDB<any>)[];
34
37
  private getMissingPermissionModules;
35
- protected renderMissingPermissions: () => import("react/jsx-runtime").JSX.Element;
38
+ protected renderMissingPermissions: () => string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
36
39
  private renderLoader;
37
40
  private onLoaderClick;
38
41
  render(): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
@@ -57,6 +57,8 @@ export class AwaitModules extends ComponentSync {
57
57
  // ######################### Render #########################
58
58
  renderMissingPermissions = () => {
59
59
  const missingPermissionModules = this.getMissingPermissionModules();
60
+ if (this.props.customMissingPermissionsRenderer)
61
+ return resolveContent(this.props.customMissingPermissionsRenderer, { modules: missingPermissionModules });
60
62
  return _jsx("div", { className: 'ts-await-modules', children: _jsxs(LL_V_L, { className: 'missing-permission-modules', children: [_jsx("h1", { children: "Missing Permissions For The Following Databases" }), _jsx(LL_H_C, { children: missingPermissionModules.map(module => _jsx("span", { children: module.dbDef.entityName }, module.dbDef.dbKey)) })] }) });
61
63
  };
62
64
  renderLoader = () => {
@@ -86,7 +86,7 @@ class ModuleFE_RoutingV2_Class extends Module {
86
86
  return route.enabled?.() ?? true;
87
87
  }) ?? [];
88
88
  const Component = this.resolveRouteComponent(route);
89
- return _jsxs(Route, { path: route.path, Component: Component, element: route.element, children: [_indexRoute, children.map(route => this.routeBuilder(route))] }, route.key);
89
+ return _jsxs(Route, { path: route.path, Component: Component, element: route.element, children: [_indexRoute, children.map(route => this.routeBuilder(route)), route.fallback && _jsx(Route, { path: "*", element: _jsx(Navigate, { to: path }) })] }, route.key);
90
90
  };
91
91
  resolveRouteComponent = (route) => {
92
92
  if (!route.Component)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nu-art/thunderstorm-frontend",
3
- "version": "0.401.5",
3
+ "version": "0.401.7",
4
4
  "description": "Thunderstorm Frontend",
5
5
  "keywords": [
6
6
  "TacB0sS",
@@ -37,11 +37,11 @@
37
37
  "linkDirectory": true
38
38
  },
39
39
  "dependencies": {
40
- "@nu-art/thunderstorm-shared": "0.401.5",
41
- "@nu-art/firebase-frontend": "0.401.5",
42
- "@nu-art/firebase-shared": "0.401.5",
43
- "@nu-art/ts-common": "0.401.5",
44
- "@nu-art/ts-styles": "0.401.5",
40
+ "@nu-art/thunderstorm-shared": "0.401.7",
41
+ "@nu-art/firebase-frontend": "0.401.7",
42
+ "@nu-art/firebase-shared": "0.401.7",
43
+ "@nu-art/ts-common": "0.401.7",
44
+ "@nu-art/ts-styles": "0.401.7",
45
45
  "abort-controller": "^3.0.0",
46
46
  "axios": "^1.13.1",
47
47
  "body-parser": "^1.19.0",
@@ -1,12 +1,11 @@
1
- import { compareVersions, currentTimeMillis, exists, Module, ModuleManager, RuntimeVersion } from '@nu-art/ts-common';
1
+ import { compareVersions, currentTimeMillis, Module, RuntimeVersion } from '@nu-art/ts-common';
2
2
  import { apiWithQuery } from '../core/typed-api.js';
3
3
  import { ApiDef_ServerInfo } from '@nu-art/thunderstorm-shared/server-info/api';
4
4
  import { Default_ServerInfoNodePath } from '@nu-art/thunderstorm-shared';
5
5
  import { ModuleFE_FirebaseListener } from '@nu-art/firebase-frontend/ModuleFE_FirebaseListener/ModuleFE_FirebaseListener';
6
- import { ThunderDispatcher } from '../core/thunder-dispatcher.js';
7
6
  import { StorageKey } from '../modules/ModuleFE_LocalStorage.js';
8
7
  export const StorageKey_ServerVersion = new StorageKey('server-version');
9
- const dispatch_OnServerInfoUpdated = new ThunderDispatcher('__onServerInfoUpdated');
8
+ // const dispatch_OnServerInfoUpdated = new ThunderDispatcher<OnServerInfoUpdatedListener, '__onServerInfoUpdated'>('__onServerInfoUpdated');
10
9
  class ModuleFE_ServerInfo_Class extends Module {
11
10
  v1;
12
11
  serverInfoFirebaseListener;
@@ -36,10 +35,6 @@ class ModuleFE_ServerInfo_Class extends Module {
36
35
  const rtdbServerInfoData = snapshot.val();
37
36
  if (!rtdbServerInfoData)
38
37
  return this.logInfo(`Did not receive any ServerInfo via firebase listener`, '');
39
- if (!exists(ModuleManager.instance.version))
40
- ModuleManager.instance.setVersion(rtdbServerInfoData.version);
41
- StorageKey_ServerVersion.set(rtdbServerInfoData.version);
42
- dispatch_OnServerInfoUpdated.dispatchAll();
43
38
  };
44
39
  Version = {
45
40
  getAppVersion: () => {