@gnosis.pm/safe-apps-react-sdk
Advanced tools
Comparing version 1.0.0-beta.0 to 1.0.0-beta.1
import { ReactElement } from 'react'; | ||
import SafeAppsSDK, { Opts as SDKOpts } from '@gnosis.pm/safe-apps-sdk/dist/src/sdk'; | ||
import SafeAppsSDK, { Opts as SDKOpts, SafeInfo } from '@gnosis.pm/safe-apps-sdk'; | ||
declare type SafeReactSDKContext = { | ||
sdk: SafeAppsSDK; | ||
connected: boolean; | ||
safe: SafeInfo; | ||
}; | ||
interface Props { | ||
@@ -8,3 +13,3 @@ loader?: ReactElement; | ||
export declare const SafeProvider: React.FC<Props>; | ||
export declare const useSafeAppsSDK: () => [SafeAppsSDK, boolean]; | ||
export declare const useSafeAppsSDK: () => SafeReactSDKContext; | ||
export default SafeProvider; |
@@ -18,12 +18,15 @@ "use strict"; | ||
const react_1 = require("react"); | ||
const sdk_1 = __importDefault(require("@gnosis.pm/safe-apps-sdk/dist/src/sdk")); | ||
const safe_apps_sdk_1 = __importDefault(require("@gnosis.pm/safe-apps-sdk")); | ||
const SafeContext = react_1.createContext(undefined); | ||
const SafeProvider = ({ loader = null, opts, children }) => { | ||
const [sdk] = react_1.useState(new sdk_1.default(opts)); | ||
const [sdk] = react_1.useState(new safe_apps_sdk_1.default(opts)); | ||
const [connected, setConnected] = react_1.useState(false); | ||
const [safe, setSafe] = react_1.useState({ safeAddress: '', network: 'rinkeby' }); | ||
const contextValue = react_1.useMemo(() => ({ sdk, connected, safe }), [sdk, connected, safe]); | ||
react_1.useEffect(() => { | ||
const fetchSafeInfo = () => __awaiter(void 0, void 0, void 0, function* () { | ||
try { | ||
yield sdk.getSafeInfo(); | ||
const safeInfo = yield sdk.getSafeInfo(); | ||
setConnected(true); | ||
setSafe(safeInfo); | ||
} | ||
@@ -36,6 +39,6 @@ catch (err) { | ||
}, [sdk]); | ||
if (!connected) { | ||
if (!connected && loader) { | ||
return loader; | ||
} | ||
return jsx_runtime_1.jsx(SafeContext.Provider, Object.assign({ value: [sdk, connected] }, { children: children }), void 0); | ||
return jsx_runtime_1.jsx(SafeContext.Provider, Object.assign({ value: contextValue }, { children: children }), void 0); | ||
}; | ||
@@ -42,0 +45,0 @@ exports.SafeProvider = SafeProvider; |
{ | ||
"name": "@gnosis.pm/safe-apps-react-sdk", | ||
"private": false, | ||
"version": "1.0.0-beta.0", | ||
"version": "1.0.0-beta.1", | ||
"main": "dist/index.js", | ||
@@ -6,0 +6,0 @@ "types": "dist/index.d.ts", |
Sorry, the diff of this file is not supported yet
7517
78