import React from 'react';
import { Message, Icon } from 'semantic-ui-react'
import { BigApiError } from '../../api/api.js';
import ShippoErrorDetails from './ShippoErrorDetails.jsx';
export default class BigApiErrorMessage extends React.Component {
constructor(props) {
super(props);
}
render() {
if (this.props.error) {
if (typeof this.props.error === "string") {
return (
{this.props.error}
);
}
const error = BigApiError.getApiError(this.props.error);
console.log('[BigApiErrorMessage] error object:', error);
console.log('[BigApiErrorMessage] error.details:', error.details);
// Check for Shippo-specific error details
const shippoMessages = error.details?.shippoMessages;
console.log('[BigApiErrorMessage] shippoMessages:', shippoMessages);
if (shippoMessages && shippoMessages.length > 0) {
return (
{error.message}
);
}
if (error.errors && error.errors.length > 0) {
return (
{error.message}
{error.errors.map((error, index) => {
return {error.msg}
})}
);
} else if (error.message) {
console.log(JSON.stringify(error.message));
return (
{error.message}
);
} else if (error.statusText) {
return (
{error.statusText}
);
}
}
return null;
}
}