| 1 |
import React from "react"; |
| 2 |
import { decodeEntities } from "@wordpress/html-entities"; |
| 3 |
|
| 4 |
// Defensive: the error state should always be a string (see utils/aiErrorMessage), |
| 5 |
// but coerce here too so a stray object can never render as "[object Object]". |
| 6 |
const toText = ( error ) => { |
| 7 |
if ( ! error ) return ""; |
| 8 |
if ( typeof error === "string" ) return error; |
| 9 |
return typeof error.message === "string" ? error.message : ""; |
| 10 |
}; |
| 11 |
|
| 12 |
const ErrorMessage = ({ error }) => { |
| 13 |
const text = toText( error ); |
| 14 |
return ( text && text.length && ( |
| 15 |
<p className="bd-error-message">{decodeEntities( text )}</p> |
| 16 |
) ) || ""; |
| 17 |
}; |
| 18 |
|
| 19 |
export default ErrorMessage; |
| 20 |
|