@dynamic-labs/sdk-react-core
Version:
A React SDK for implementing wallet web3 authentication and authorization to your website.
36 lines (33 loc) • 1.28 kB
JavaScript
'use client'
import { Component, createElement } from 'react';
import '@dynamic-labs/sdk-api-core';
import { logger } from '../../shared/logger.js';
import '@dynamic-labs/iconic';
import '@dynamic-labs/wallet-connector-core';
import 'react/jsx-runtime';
import '../ViewContext/ViewContext.js';
import '@dynamic-labs/wallet-book';
import '@dynamic-labs/utils';
import '../../utils/constants/colors.js';
import '../../utils/constants/values.js';
import '../../shared/consts/index.js';
import { ErrorContainer } from '../../components/ErrorContainer/ErrorContainer.js';
import { ErrorBoundaryContext, assertErrorBoundaryContext } from './ErrorBoundaryContext.js';
class ErrorBoundaryBase extends Component {
static getDerivedStateFromError(error) {
return { error, hasError: true };
}
renderOrError(children, { isDynamicSdkError }) {
try {
assertErrorBoundaryContext(this.context);
this.context.isDynamicSdkError = isDynamicSdkError;
}
catch (e) {
logger.error(e);
return createElement(ErrorContainer, null, 'ErrorBoundary must be used within ErrorBoundaryContext');
}
return children;
}
}
ErrorBoundaryBase.contextType = ErrorBoundaryContext;
export { ErrorBoundaryBase };