@multiplatform.one/core 7.84.3 → 7.84.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.
- package/dist/cjs/app/CreateApp.cjs +118 -110
- package/dist/cjs/app/CreateApp.native.js +127 -123
- package/dist/cjs/app/CreateApp.native.js.map +1 -1
- package/dist/esm/app/CreateApp.mjs +118 -110
- package/dist/esm/app/CreateApp.mjs.map +1 -1
- package/dist/esm/app/CreateApp.native.js +127 -123
- package/dist/esm/app/CreateApp.native.js.map +1 -1
- package/package.json +12 -12
- package/src/app/CreateApp.providers.spec.tsx +317 -0
- package/src/app/CreateApp.tsx +204 -196
- package/types/app/CreateApp.d.ts.map +1 -1
|
@@ -68,124 +68,132 @@ function followPageOriginForLoopback(configured, page = currentPageLocation(), d
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
const AppConfigContext = (0, import_react.createContext)({});
|
|
71
|
-
function
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (appConfig.theme?.tamagui && !cfg.tamaguiConfig) {
|
|
78
|
-
cfg.tamaguiConfig = appConfig.theme.tamagui;
|
|
79
|
-
}
|
|
80
|
-
builtinProviders.push((0, import_TanstackProvider.createTanstackProvider)(cfg));
|
|
81
|
-
}
|
|
82
|
-
if (appConfig.web3) {
|
|
83
|
-
let Web3Provider = function ({
|
|
84
|
-
children
|
|
85
|
-
}) {
|
|
86
|
-
const enabled = cfg.enabled ?? import_platform.config.get("WEB3_ENABLED") === "1";
|
|
87
|
-
if (!enabled) return children;
|
|
88
|
-
if (import_platform.isWeb) return children;
|
|
89
|
-
const testnetsEnabled = cfg.enableTestnets ?? import_platform.config.get("WEB3_TESTNETS_ENABLED") === "1";
|
|
90
|
-
const WalletWithChildren = import_loadWalletProvider.default;
|
|
91
|
-
return (
|
|
92
|
-
// fallback must NOT be `children`: rendering web3-consuming screens before
|
|
93
|
-
// the lazy WagmiProvider loads throws "useConfig must be used within WagmiProvider".
|
|
94
|
-
/* @__PURE__ */
|
|
95
|
-
(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
96
|
-
fallback: null,
|
|
97
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(WalletWithChildren, {
|
|
98
|
-
config: {
|
|
99
|
-
appName: cfg.appName || "Multiplatform.one",
|
|
100
|
-
appDescription: cfg.appDescription || "Connect your wallet",
|
|
101
|
-
appUrl: cfg.appUrl || (import_platform.isWeb && typeof window !== "undefined" ? window.location.origin : ""),
|
|
102
|
-
appIcon: cfg.appIcon,
|
|
103
|
-
enableTestnets: testnetsEnabled,
|
|
104
|
-
localnet: cfg.localnet ?? import_platform.config.get("WEB3_LOCALNET_ENABLED") === "1",
|
|
105
|
-
localnetRpcUrl: cfg.localnetRpcUrl || import_platform.config.get("WEB3_EVM_RPC") || void 0,
|
|
106
|
-
solanaRpcUrl: cfg.solanaRpcUrl || import_platform.config.get("WEB3_SOLANA_RPC") || void 0,
|
|
107
|
-
suiRpcUrl: cfg.suiRpcUrl || import_platform.config.get("WEB3_SUI_RPC") || void 0,
|
|
108
|
-
webViewUrl: cfg.webViewUrl || import_platform.config.get("WEB3_WEBVIEW_URL") || void 0,
|
|
109
|
-
mockWallet: cfg.mockWallet ?? import_platform.config.get("WEB3_MOCK_WALLET") === "1"
|
|
110
|
-
},
|
|
111
|
-
children
|
|
112
|
-
})
|
|
113
|
-
})
|
|
114
|
-
);
|
|
115
|
-
};
|
|
116
|
-
const cfg = appConfig.web3 === true ? {} : appConfig.web3;
|
|
117
|
-
Web3Provider.displayName = "Web3Provider";
|
|
118
|
-
builtinProviders.push(Web3Provider);
|
|
71
|
+
function tanstackBuiltin(tanstack, theme) {
|
|
72
|
+
const cfg = tanstack === true ? {} : {
|
|
73
|
+
...tanstack
|
|
74
|
+
};
|
|
75
|
+
if (theme?.tamagui && !cfg.tamaguiConfig) {
|
|
76
|
+
cfg.tamaguiConfig = theme.tamagui;
|
|
119
77
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
78
|
+
return (0, import_TanstackProvider.createTanstackProvider)(cfg);
|
|
79
|
+
}
|
|
80
|
+
function web3Builtin(web3) {
|
|
81
|
+
const cfg = web3 === true ? {} : web3;
|
|
82
|
+
function Web3Provider({
|
|
83
|
+
children
|
|
84
|
+
}) {
|
|
85
|
+
const enabled = cfg.enabled ?? import_platform.config.get("WEB3_ENABLED") === "1";
|
|
86
|
+
if (!enabled) return children;
|
|
87
|
+
if (import_platform.isWeb) return children;
|
|
88
|
+
const testnetsEnabled = cfg.enableTestnets ?? import_platform.config.get("WEB3_TESTNETS_ENABLED") === "1";
|
|
89
|
+
const WalletWithChildren = import_loadWalletProvider.default;
|
|
90
|
+
return (
|
|
91
|
+
// fallback must NOT be `children`: rendering web3-consuming screens before
|
|
92
|
+
// the lazy WagmiProvider loads throws "useConfig must be used within WagmiProvider".
|
|
93
|
+
/* @__PURE__ */
|
|
94
|
+
(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
95
|
+
fallback: null,
|
|
96
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(WalletWithChildren, {
|
|
97
|
+
config: {
|
|
98
|
+
appName: cfg.appName || "Multiplatform.one",
|
|
99
|
+
appDescription: cfg.appDescription || "Connect your wallet",
|
|
100
|
+
appUrl: cfg.appUrl || (import_platform.isWeb && typeof window !== "undefined" ? window.location.origin : ""),
|
|
101
|
+
appIcon: cfg.appIcon,
|
|
102
|
+
enableTestnets: testnetsEnabled,
|
|
103
|
+
localnet: cfg.localnet ?? import_platform.config.get("WEB3_LOCALNET_ENABLED") === "1",
|
|
104
|
+
localnetRpcUrl: cfg.localnetRpcUrl || import_platform.config.get("WEB3_EVM_RPC") || void 0,
|
|
105
|
+
solanaRpcUrl: cfg.solanaRpcUrl || import_platform.config.get("WEB3_SOLANA_RPC") || void 0,
|
|
106
|
+
suiRpcUrl: cfg.suiRpcUrl || import_platform.config.get("WEB3_SUI_RPC") || void 0,
|
|
107
|
+
webViewUrl: cfg.webViewUrl || import_platform.config.get("WEB3_WEBVIEW_URL") || void 0,
|
|
108
|
+
mockWallet: cfg.mockWallet ?? import_platform.config.get("WEB3_MOCK_WALLET") === "1"
|
|
109
|
+
},
|
|
141
110
|
children
|
|
142
111
|
})
|
|
143
|
-
})
|
|
112
|
+
})
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
Web3Provider.displayName = "Web3Provider";
|
|
116
|
+
return Web3Provider;
|
|
117
|
+
}
|
|
118
|
+
function keycloakBuiltin(keycloak) {
|
|
119
|
+
const cfg = keycloak === true ? {} : keycloak;
|
|
120
|
+
const LazyKeycloakProvider = (0, import_react.lazy)(async () => {
|
|
121
|
+
const mod = await import("@multiplatform.one/keycloak");
|
|
122
|
+
return {
|
|
123
|
+
default: mod.KeycloakProvider
|
|
144
124
|
};
|
|
145
|
-
|
|
146
|
-
|
|
125
|
+
});
|
|
126
|
+
function KeycloakProviderWrapper({
|
|
127
|
+
children
|
|
128
|
+
}) {
|
|
129
|
+
const enabled = cfg.enabled ?? import_platform.config.get("KEYCLOAK_ENABLED") === "1";
|
|
130
|
+
if (!enabled) return children;
|
|
131
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
132
|
+
fallback: children,
|
|
133
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(LazyKeycloakProvider, {
|
|
134
|
+
disabled: false,
|
|
135
|
+
debug: cfg.debug ?? import_platform.config.get("DEBUG") === "1",
|
|
136
|
+
baseUrl: cfg.baseUrl || import_platform.config.get("KEYCLOAK_BASE_URL") || `${import_platform.config.get("BASE_URL") || ""}/auth`,
|
|
137
|
+
clientId: cfg.clientId || import_platform.config.get("KEYCLOAK_CLIENT_ID"),
|
|
138
|
+
publicClientId: cfg.publicClientId || import_platform.config.get("KEYCLOAK_PUBLIC_CLIENT_ID"),
|
|
139
|
+
realm: cfg.realm || import_platform.config.get("KEYCLOAK_REALM") || "",
|
|
140
|
+
iframeSso: cfg.iframeSso,
|
|
141
|
+
loginRedirectUri: cfg.loginRedirectUri,
|
|
142
|
+
messageHandlerKeys: cfg.messageHandlerKeys || [],
|
|
143
|
+
betterAuthBaseUrl: cfg.betterAuthBaseUrl || import_platform.config.get("BETTER_AUTH_BASE_URL") || import_platform.config.get("BASE_URL") || void 0,
|
|
144
|
+
expoScheme: cfg.expoScheme,
|
|
145
|
+
loadingComponent: cfg.loadingComponent,
|
|
146
|
+
children
|
|
147
|
+
})
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
KeycloakProviderWrapper.displayName = "KeycloakProvider";
|
|
151
|
+
return KeycloakProviderWrapper;
|
|
152
|
+
}
|
|
153
|
+
function frappeBuiltin(frappe, withKeycloak) {
|
|
154
|
+
const cfg = frappe === true ? {} : frappe;
|
|
155
|
+
const auth = cfg.auth ?? (withKeycloak ? {
|
|
156
|
+
useToken: true,
|
|
157
|
+
type: "Bearer",
|
|
158
|
+
token: async () => {
|
|
147
159
|
const mod = await import("@multiplatform.one/keycloak");
|
|
148
|
-
return
|
|
149
|
-
|
|
150
|
-
|
|
160
|
+
return (await mod.getKeycloakBearerToken()) || "";
|
|
161
|
+
}
|
|
162
|
+
} : void 0);
|
|
163
|
+
function FrappeProviderWrapper({
|
|
164
|
+
children
|
|
165
|
+
}) {
|
|
166
|
+
const configuredCatchUp = import_platform.config.get("FRAPPE_CATCH_UP_STRATEGY");
|
|
167
|
+
const configuredWrite = import_platform.config.get("FRAPPE_WRITE_STRATEGY");
|
|
168
|
+
const syncOptions = (0, import_react.useMemo)(() => (0, import_frappeSyncOptions.frappeSyncOptions)(cfg.syncOptions, configuredCatchUp, configuredWrite), [configuredCatchUp, configuredWrite]);
|
|
169
|
+
const enabled = cfg.enabled ?? (!!cfg.fixtures || import_platform.config.get("FRAPPE_ENABLED") === "1");
|
|
170
|
+
if (!enabled) return children;
|
|
171
|
+
const configured = cfg.fixtures ? cfg.baseURL : cfg.baseURL || import_platform.config.get("BASE_URL") || "http://localhost:8000";
|
|
172
|
+
const baseURL = configured ? followPageOriginForLoopback(configured) : void 0;
|
|
173
|
+
const socketPort = cfg.socketPort ?? (0, import_frappeSocketPort.frappeSocketPort)(import_platform.config.get("FRAPPE_SOCKETIO_PORT"), baseURL);
|
|
174
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_frappe_ui.FrappeProvider, {
|
|
175
|
+
baseURL,
|
|
176
|
+
realtime: cfg.realtime,
|
|
177
|
+
socketPort,
|
|
178
|
+
auth,
|
|
179
|
+
syncOptions,
|
|
180
|
+
fixtures: cfg.fixtures,
|
|
181
|
+
navigation: import_oneFrappeNavigation.oneFrappeNavigation,
|
|
182
|
+
children
|
|
151
183
|
});
|
|
152
|
-
KeycloakProviderWrapper.displayName = "KeycloakProvider";
|
|
153
|
-
builtinProviders.push(KeycloakProviderWrapper);
|
|
154
184
|
}
|
|
185
|
+
FrappeProviderWrapper.displayName = "FrappeProvider";
|
|
186
|
+
return FrappeProviderWrapper;
|
|
187
|
+
}
|
|
188
|
+
function createApp(appConfig) {
|
|
189
|
+
const builtinProviders = [];
|
|
190
|
+
if (appConfig.tanstack) {
|
|
191
|
+
builtinProviders.push(tanstackBuiltin(appConfig.tanstack, appConfig.theme));
|
|
192
|
+
}
|
|
193
|
+
if (appConfig.web3) builtinProviders.push(web3Builtin(appConfig.web3));
|
|
194
|
+
if (appConfig.keycloak) builtinProviders.push(keycloakBuiltin(appConfig.keycloak));
|
|
155
195
|
if (appConfig.frappe) {
|
|
156
|
-
|
|
157
|
-
children
|
|
158
|
-
}) {
|
|
159
|
-
const configuredCatchUp = import_platform.config.get("FRAPPE_CATCH_UP_STRATEGY");
|
|
160
|
-
const configuredWrite = import_platform.config.get("FRAPPE_WRITE_STRATEGY");
|
|
161
|
-
const syncOptions = (0, import_react.useMemo)(() => (0, import_frappeSyncOptions.frappeSyncOptions)(cfg.syncOptions, configuredCatchUp, configuredWrite), [configuredCatchUp, configuredWrite]);
|
|
162
|
-
const enabled = cfg.enabled ?? (!!cfg.fixtures || import_platform.config.get("FRAPPE_ENABLED") === "1");
|
|
163
|
-
if (!enabled) return children;
|
|
164
|
-
const configured = cfg.fixtures ? cfg.baseURL : cfg.baseURL || import_platform.config.get("BASE_URL") || "http://localhost:8000";
|
|
165
|
-
const baseURL = configured ? followPageOriginForLoopback(configured) : void 0;
|
|
166
|
-
const socketPort = cfg.socketPort ?? (0, import_frappeSocketPort.frappeSocketPort)(import_platform.config.get("FRAPPE_SOCKETIO_PORT"), baseURL);
|
|
167
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_frappe_ui.FrappeProvider, {
|
|
168
|
-
baseURL,
|
|
169
|
-
realtime: cfg.realtime,
|
|
170
|
-
socketPort,
|
|
171
|
-
auth,
|
|
172
|
-
syncOptions,
|
|
173
|
-
fixtures: cfg.fixtures,
|
|
174
|
-
navigation: import_oneFrappeNavigation.oneFrappeNavigation,
|
|
175
|
-
children
|
|
176
|
-
});
|
|
177
|
-
};
|
|
178
|
-
const cfg = appConfig.frappe === true ? {} : appConfig.frappe;
|
|
179
|
-
const auth = cfg.auth ?? (appConfig.keycloak ? {
|
|
180
|
-
useToken: true,
|
|
181
|
-
type: "Bearer",
|
|
182
|
-
token: async () => {
|
|
183
|
-
const mod = await import("@multiplatform.one/keycloak");
|
|
184
|
-
return (await mod.getKeycloakBearerToken()) || "";
|
|
185
|
-
}
|
|
186
|
-
} : void 0);
|
|
187
|
-
FrappeProviderWrapper.displayName = "FrappeProvider";
|
|
188
|
-
builtinProviders.push(FrappeProviderWrapper);
|
|
196
|
+
builtinProviders.push(frappeBuiltin(appConfig.frappe, Boolean(appConfig.keycloak)));
|
|
189
197
|
}
|
|
190
198
|
const allProviders = [...builtinProviders, ...(appConfig.providers || [])];
|
|
191
199
|
function AppProvider({
|
|
@@ -73,137 +73,141 @@ function followPageOriginForLoopback(configured) {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
var AppConfigContext = /* @__PURE__ */(0, import_react.createContext)({});
|
|
76
|
-
function
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
};
|
|
83
|
-
if (((_appConfig_theme = appConfig.theme) === null || _appConfig_theme === void 0 ? void 0 : _appConfig_theme.tamagui) && !cfg.tamaguiConfig) {
|
|
84
|
-
cfg.tamaguiConfig = appConfig.theme.tamagui;
|
|
85
|
-
}
|
|
86
|
-
builtinProviders.push((0, import_TanstackProvider.createTanstackProvider)(cfg));
|
|
87
|
-
}
|
|
88
|
-
if (appConfig.web3) {
|
|
89
|
-
let Web3Provider2 = function (param) {
|
|
90
|
-
var {
|
|
91
|
-
children
|
|
92
|
-
} = param;
|
|
93
|
-
var _cfg_enabled, _cfg_enableTestnets, _cfg_localnet, _cfg_mockWallet;
|
|
94
|
-
var enabled = (_cfg_enabled = cfg1.enabled) !== null && _cfg_enabled !== void 0 ? _cfg_enabled : import_platform.config.get("WEB3_ENABLED") === "1";
|
|
95
|
-
if (!enabled) return children;
|
|
96
|
-
if (import_platform.isWeb) return children;
|
|
97
|
-
var testnetsEnabled = (_cfg_enableTestnets = cfg1.enableTestnets) !== null && _cfg_enableTestnets !== void 0 ? _cfg_enableTestnets : import_platform.config.get("WEB3_TESTNETS_ENABLED") === "1";
|
|
98
|
-
var WalletWithChildren = import_loadWalletProvider.default;
|
|
99
|
-
return (
|
|
100
|
-
// fallback must NOT be `children`: rendering web3-consuming screens before
|
|
101
|
-
// the lazy WagmiProvider loads throws "useConfig must be used within WagmiProvider".
|
|
102
|
-
/* @__PURE__ */
|
|
103
|
-
(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
104
|
-
fallback: null,
|
|
105
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(WalletWithChildren, {
|
|
106
|
-
config: {
|
|
107
|
-
appName: cfg1.appName || "Multiplatform.one",
|
|
108
|
-
appDescription: cfg1.appDescription || "Connect your wallet",
|
|
109
|
-
appUrl: cfg1.appUrl || (import_platform.isWeb && typeof window !== "undefined" ? window.location.origin : ""),
|
|
110
|
-
appIcon: cfg1.appIcon,
|
|
111
|
-
enableTestnets: testnetsEnabled,
|
|
112
|
-
localnet: (_cfg_localnet = cfg1.localnet) !== null && _cfg_localnet !== void 0 ? _cfg_localnet : import_platform.config.get("WEB3_LOCALNET_ENABLED") === "1",
|
|
113
|
-
localnetRpcUrl: cfg1.localnetRpcUrl || import_platform.config.get("WEB3_EVM_RPC") || void 0,
|
|
114
|
-
solanaRpcUrl: cfg1.solanaRpcUrl || import_platform.config.get("WEB3_SOLANA_RPC") || void 0,
|
|
115
|
-
suiRpcUrl: cfg1.suiRpcUrl || import_platform.config.get("WEB3_SUI_RPC") || void 0,
|
|
116
|
-
webViewUrl: cfg1.webViewUrl || import_platform.config.get("WEB3_WEBVIEW_URL") || void 0,
|
|
117
|
-
mockWallet: (_cfg_mockWallet = cfg1.mockWallet) !== null && _cfg_mockWallet !== void 0 ? _cfg_mockWallet : import_platform.config.get("WEB3_MOCK_WALLET") === "1"
|
|
118
|
-
},
|
|
119
|
-
children
|
|
120
|
-
})
|
|
121
|
-
})
|
|
122
|
-
);
|
|
123
|
-
};
|
|
124
|
-
var Web3Provider = Web3Provider2;
|
|
125
|
-
var cfg1 = appConfig.web3 === true ? {} : appConfig.web3;
|
|
126
|
-
Web3Provider2.displayName = "Web3Provider";
|
|
127
|
-
builtinProviders.push(Web3Provider2);
|
|
76
|
+
function tanstackBuiltin(tanstack, theme) {
|
|
77
|
+
var cfg = tanstack === true ? {} : {
|
|
78
|
+
...tanstack
|
|
79
|
+
};
|
|
80
|
+
if ((theme === null || theme === void 0 ? void 0 : theme.tamagui) && !cfg.tamaguiConfig) {
|
|
81
|
+
cfg.tamaguiConfig = theme.tamagui;
|
|
128
82
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
83
|
+
return (0, import_TanstackProvider.createTanstackProvider)(cfg);
|
|
84
|
+
}
|
|
85
|
+
function web3Builtin(web3) {
|
|
86
|
+
var cfg = web3 === true ? {} : web3;
|
|
87
|
+
function Web3Provider(param) {
|
|
88
|
+
var {
|
|
89
|
+
children
|
|
90
|
+
} = param;
|
|
91
|
+
var _cfg_enabled, _cfg_enableTestnets, _cfg_localnet, _cfg_mockWallet;
|
|
92
|
+
var enabled = (_cfg_enabled = cfg.enabled) !== null && _cfg_enabled !== void 0 ? _cfg_enabled : import_platform.config.get("WEB3_ENABLED") === "1";
|
|
93
|
+
if (!enabled) return children;
|
|
94
|
+
if (import_platform.isWeb) return children;
|
|
95
|
+
var testnetsEnabled = (_cfg_enableTestnets = cfg.enableTestnets) !== null && _cfg_enableTestnets !== void 0 ? _cfg_enableTestnets : import_platform.config.get("WEB3_TESTNETS_ENABLED") === "1";
|
|
96
|
+
var WalletWithChildren = import_loadWalletProvider.default;
|
|
97
|
+
return (
|
|
98
|
+
// fallback must NOT be `children`: rendering web3-consuming screens before
|
|
99
|
+
// the lazy WagmiProvider loads throws "useConfig must be used within WagmiProvider".
|
|
100
|
+
/* @__PURE__ */
|
|
101
|
+
(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
102
|
+
fallback: null,
|
|
103
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(WalletWithChildren, {
|
|
104
|
+
config: {
|
|
105
|
+
appName: cfg.appName || "Multiplatform.one",
|
|
106
|
+
appDescription: cfg.appDescription || "Connect your wallet",
|
|
107
|
+
appUrl: cfg.appUrl || (import_platform.isWeb && typeof window !== "undefined" ? window.location.origin : ""),
|
|
108
|
+
appIcon: cfg.appIcon,
|
|
109
|
+
enableTestnets: testnetsEnabled,
|
|
110
|
+
localnet: (_cfg_localnet = cfg.localnet) !== null && _cfg_localnet !== void 0 ? _cfg_localnet : import_platform.config.get("WEB3_LOCALNET_ENABLED") === "1",
|
|
111
|
+
localnetRpcUrl: cfg.localnetRpcUrl || import_platform.config.get("WEB3_EVM_RPC") || void 0,
|
|
112
|
+
solanaRpcUrl: cfg.solanaRpcUrl || import_platform.config.get("WEB3_SOLANA_RPC") || void 0,
|
|
113
|
+
suiRpcUrl: cfg.suiRpcUrl || import_platform.config.get("WEB3_SUI_RPC") || void 0,
|
|
114
|
+
webViewUrl: cfg.webViewUrl || import_platform.config.get("WEB3_WEBVIEW_URL") || void 0,
|
|
115
|
+
mockWallet: (_cfg_mockWallet = cfg.mockWallet) !== null && _cfg_mockWallet !== void 0 ? _cfg_mockWallet : import_platform.config.get("WEB3_MOCK_WALLET") === "1"
|
|
116
|
+
},
|
|
152
117
|
children
|
|
153
118
|
})
|
|
154
|
-
})
|
|
119
|
+
})
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
Web3Provider.displayName = "Web3Provider";
|
|
123
|
+
return Web3Provider;
|
|
124
|
+
}
|
|
125
|
+
function keycloakBuiltin(keycloak) {
|
|
126
|
+
var cfg = keycloak === true ? {} : keycloak;
|
|
127
|
+
var LazyKeycloakProvider = /* @__PURE__ */(0, import_react.lazy)(async function () {
|
|
128
|
+
var mod = await import("@multiplatform.one/keycloak");
|
|
129
|
+
return {
|
|
130
|
+
default: mod.KeycloakProvider
|
|
155
131
|
};
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
var
|
|
132
|
+
});
|
|
133
|
+
function KeycloakProviderWrapper(param) {
|
|
134
|
+
var {
|
|
135
|
+
children
|
|
136
|
+
} = param;
|
|
137
|
+
var _cfg_enabled, _cfg_debug;
|
|
138
|
+
var enabled = (_cfg_enabled = cfg.enabled) !== null && _cfg_enabled !== void 0 ? _cfg_enabled : import_platform.config.get("KEYCLOAK_ENABLED") === "1";
|
|
139
|
+
if (!enabled) return children;
|
|
140
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.Suspense, {
|
|
141
|
+
fallback: children,
|
|
142
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(LazyKeycloakProvider, {
|
|
143
|
+
disabled: false,
|
|
144
|
+
debug: (_cfg_debug = cfg.debug) !== null && _cfg_debug !== void 0 ? _cfg_debug : import_platform.config.get("DEBUG") === "1",
|
|
145
|
+
baseUrl: cfg.baseUrl || import_platform.config.get("KEYCLOAK_BASE_URL") || `${import_platform.config.get("BASE_URL") || ""}/auth`,
|
|
146
|
+
clientId: cfg.clientId || import_platform.config.get("KEYCLOAK_CLIENT_ID"),
|
|
147
|
+
publicClientId: cfg.publicClientId || import_platform.config.get("KEYCLOAK_PUBLIC_CLIENT_ID"),
|
|
148
|
+
realm: cfg.realm || import_platform.config.get("KEYCLOAK_REALM") || "",
|
|
149
|
+
iframeSso: cfg.iframeSso,
|
|
150
|
+
loginRedirectUri: cfg.loginRedirectUri,
|
|
151
|
+
messageHandlerKeys: cfg.messageHandlerKeys || [],
|
|
152
|
+
betterAuthBaseUrl: cfg.betterAuthBaseUrl || import_platform.config.get("BETTER_AUTH_BASE_URL") || import_platform.config.get("BASE_URL") || void 0,
|
|
153
|
+
expoScheme: cfg.expoScheme,
|
|
154
|
+
loadingComponent: cfg.loadingComponent,
|
|
155
|
+
children
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
KeycloakProviderWrapper.displayName = "KeycloakProvider";
|
|
160
|
+
return KeycloakProviderWrapper;
|
|
161
|
+
}
|
|
162
|
+
function frappeBuiltin(frappe, withKeycloak) {
|
|
163
|
+
var _cfg_auth;
|
|
164
|
+
var cfg = frappe === true ? {} : frappe;
|
|
165
|
+
var auth = (_cfg_auth = cfg.auth) !== null && _cfg_auth !== void 0 ? _cfg_auth : withKeycloak ? {
|
|
166
|
+
useToken: true,
|
|
167
|
+
type: "Bearer",
|
|
168
|
+
token: async function token() {
|
|
159
169
|
var mod = await import("@multiplatform.one/keycloak");
|
|
160
|
-
return
|
|
161
|
-
|
|
162
|
-
|
|
170
|
+
return (await mod.getKeycloakBearerToken()) || "";
|
|
171
|
+
}
|
|
172
|
+
} : void 0;
|
|
173
|
+
function FrappeProviderWrapper(param) {
|
|
174
|
+
var {
|
|
175
|
+
children
|
|
176
|
+
} = param;
|
|
177
|
+
var _cfg_enabled, _cfg_socketPort;
|
|
178
|
+
var configuredCatchUp = import_platform.config.get("FRAPPE_CATCH_UP_STRATEGY");
|
|
179
|
+
var configuredWrite = import_platform.config.get("FRAPPE_WRITE_STRATEGY");
|
|
180
|
+
var syncOptions = (0, import_react.useMemo)(function () {
|
|
181
|
+
return (0, import_frappeSyncOptions.frappeSyncOptions)(cfg.syncOptions, configuredCatchUp, configuredWrite);
|
|
182
|
+
}, [configuredCatchUp, configuredWrite]);
|
|
183
|
+
var enabled = (_cfg_enabled = cfg.enabled) !== null && _cfg_enabled !== void 0 ? _cfg_enabled : !!cfg.fixtures || import_platform.config.get("FRAPPE_ENABLED") === "1";
|
|
184
|
+
if (!enabled) return children;
|
|
185
|
+
var configured = cfg.fixtures ? cfg.baseURL : cfg.baseURL || import_platform.config.get("BASE_URL") || "http://localhost:8000";
|
|
186
|
+
var baseURL = configured ? followPageOriginForLoopback(configured) : void 0;
|
|
187
|
+
var socketPort = (_cfg_socketPort = cfg.socketPort) !== null && _cfg_socketPort !== void 0 ? _cfg_socketPort : (0, import_frappeSocketPort.frappeSocketPort)(import_platform.config.get("FRAPPE_SOCKETIO_PORT"), baseURL);
|
|
188
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_frappe_ui.FrappeProvider, {
|
|
189
|
+
baseURL,
|
|
190
|
+
realtime: cfg.realtime,
|
|
191
|
+
socketPort,
|
|
192
|
+
auth,
|
|
193
|
+
syncOptions,
|
|
194
|
+
fixtures: cfg.fixtures,
|
|
195
|
+
navigation: import_oneFrappeNavigation.oneFrappeNavigation,
|
|
196
|
+
children
|
|
163
197
|
});
|
|
164
|
-
KeycloakProviderWrapper2.displayName = "KeycloakProvider";
|
|
165
|
-
builtinProviders.push(KeycloakProviderWrapper2);
|
|
166
198
|
}
|
|
199
|
+
FrappeProviderWrapper.displayName = "FrappeProvider";
|
|
200
|
+
return FrappeProviderWrapper;
|
|
201
|
+
}
|
|
202
|
+
function createApp(appConfig) {
|
|
203
|
+
var builtinProviders = [];
|
|
204
|
+
if (appConfig.tanstack) {
|
|
205
|
+
builtinProviders.push(tanstackBuiltin(appConfig.tanstack, appConfig.theme));
|
|
206
|
+
}
|
|
207
|
+
if (appConfig.web3) builtinProviders.push(web3Builtin(appConfig.web3));
|
|
208
|
+
if (appConfig.keycloak) builtinProviders.push(keycloakBuiltin(appConfig.keycloak));
|
|
167
209
|
if (appConfig.frappe) {
|
|
168
|
-
|
|
169
|
-
var {
|
|
170
|
-
children
|
|
171
|
-
} = param;
|
|
172
|
-
var _cfg_enabled, _cfg_socketPort;
|
|
173
|
-
var configuredCatchUp = import_platform.config.get("FRAPPE_CATCH_UP_STRATEGY");
|
|
174
|
-
var configuredWrite = import_platform.config.get("FRAPPE_WRITE_STRATEGY");
|
|
175
|
-
var syncOptions = (0, import_react.useMemo)(function () {
|
|
176
|
-
return (0, import_frappeSyncOptions.frappeSyncOptions)(cfg3.syncOptions, configuredCatchUp, configuredWrite);
|
|
177
|
-
}, [configuredCatchUp, configuredWrite]);
|
|
178
|
-
var enabled = (_cfg_enabled = cfg3.enabled) !== null && _cfg_enabled !== void 0 ? _cfg_enabled : !!cfg3.fixtures || import_platform.config.get("FRAPPE_ENABLED") === "1";
|
|
179
|
-
if (!enabled) return children;
|
|
180
|
-
var configured = cfg3.fixtures ? cfg3.baseURL : cfg3.baseURL || import_platform.config.get("BASE_URL") || "http://localhost:8000";
|
|
181
|
-
var baseURL = configured ? followPageOriginForLoopback(configured) : void 0;
|
|
182
|
-
var socketPort = (_cfg_socketPort = cfg3.socketPort) !== null && _cfg_socketPort !== void 0 ? _cfg_socketPort : (0, import_frappeSocketPort.frappeSocketPort)(import_platform.config.get("FRAPPE_SOCKETIO_PORT"), baseURL);
|
|
183
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_frappe_ui.FrappeProvider, {
|
|
184
|
-
baseURL,
|
|
185
|
-
realtime: cfg3.realtime,
|
|
186
|
-
socketPort,
|
|
187
|
-
auth,
|
|
188
|
-
syncOptions,
|
|
189
|
-
fixtures: cfg3.fixtures,
|
|
190
|
-
navigation: import_oneFrappeNavigation.oneFrappeNavigation,
|
|
191
|
-
children
|
|
192
|
-
});
|
|
193
|
-
};
|
|
194
|
-
var FrappeProviderWrapper = FrappeProviderWrapper2;
|
|
195
|
-
var _cfg_auth;
|
|
196
|
-
var cfg3 = appConfig.frappe === true ? {} : appConfig.frappe;
|
|
197
|
-
var auth = (_cfg_auth = cfg3.auth) !== null && _cfg_auth !== void 0 ? _cfg_auth : appConfig.keycloak ? {
|
|
198
|
-
useToken: true,
|
|
199
|
-
type: "Bearer",
|
|
200
|
-
token: async function token() {
|
|
201
|
-
var mod = await import("@multiplatform.one/keycloak");
|
|
202
|
-
return (await mod.getKeycloakBearerToken()) || "";
|
|
203
|
-
}
|
|
204
|
-
} : void 0;
|
|
205
|
-
FrappeProviderWrapper2.displayName = "FrappeProvider";
|
|
206
|
-
builtinProviders.push(FrappeProviderWrapper2);
|
|
210
|
+
builtinProviders.push(frappeBuiltin(appConfig.frappe, Boolean(appConfig.keycloak)));
|
|
207
211
|
}
|
|
208
212
|
var allProviders = [...builtinProviders, ...(appConfig.providers || [])];
|
|
209
213
|
function AppProvider(param) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","CreateApp_exports","__export","createApp","followPageOriginForLoopback","module","exports","import_jsx_runtime","require","import_react","__toESM","import_platform","import_theme","import_frappe_ui","import_frappeSocketPort","import_frappeSyncOptions","import_oneFrappeNavigation","import_TanstackProvider","import_loadWalletProvider","LOOPBACK_HOSTS","Set","currentPageLocation","_window_location","window","location","hostname","configured","page","arguments","length","dev","isDev","url","URL","has","protocol","port","toString","replace","unused","AppConfigContext","createContext","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","CreateApp_exports","__export","createApp","followPageOriginForLoopback","module","exports","import_jsx_runtime","require","import_react","__toESM","import_platform","import_theme","import_frappe_ui","import_frappeSocketPort","import_frappeSyncOptions","import_oneFrappeNavigation","import_TanstackProvider","import_loadWalletProvider","LOOPBACK_HOSTS","Set","currentPageLocation","_window_location","window","location","hostname","configured","page","arguments","length","dev","isDev","url","URL","has","protocol","port","toString","replace","unused","AppConfigContext","createContext","tanstackBuiltin","tanstack","theme","cfg","tamagui","tamaguiConfig","createTanstackProvider","web3Builtin","web3","Web3Provider","param","children","_cfg_enabled","_cfg_enableTestnets","_cfg_localnet","_cfg_mockWallet","enabled","config","get","isWeb","testnetsEnabled","enableTestnets","WalletWithChildren","default","jsx","Suspense","fallback","appName","appDescription","appUrl","origin","appIcon","localnet","localnetRpcUrl","solanaRpcUrl","suiRpcUrl","webViewUrl","mockWallet","displayName","keycloakBuiltin","keycloak","LazyKeycloakProvider","lazy","KeycloakProvider","KeycloakProviderWrapper","_cfg_debug","disabled","debug","baseUrl","clientId","publicClientId","realm","iframeSso","loginRedirectUri","messageHandlerKeys","betterAuthBaseUrl","expoScheme","loadingComponent","frappeBuiltin","frappe","withKeycloak","_cfg_auth","auth","useToken","type","token","getKeycloakBearerToken","FrappeProviderWrapper","_cfg_socketPort","configuredCatchUp","configuredWrite","syncOptions","useMemo","frappeSyncOptions","fixtures","baseURL","socketPort","frappeSocketPort","FrappeProvider","realtime","navigation","oneFrappeNavigation","appConfig","builtinProviders","push","Boolean","allProviders","providers","AppProvider","systemTheme","themeConfig","content","ThemeProvider"],"sources":["../../../src/app/CreateApp.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|