/* * Copyright (c) 2015 Nordic Semiconductor ASA * * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause */ import React from 'react'; import ReactMarkdown from 'react-markdown'; import { useDispatch, useSelector } from 'react-redux'; import { DialogButton, ErrorDetails, ErrorDialog as BaseErrorDialog, } from '../Dialog/Dialog'; import { type ErrorMessage, errorResolutions as errorResolutionsSelector, hideDialog, isVisible as isVisibleSelector, messages as messagesSelector, } from './errorDialogSlice'; import './error.scss'; const SingleErrorMessage = ({ error: { message, detail }, }: { error: ErrorMessage; }) => ( <> {message} {detail != null && } ); const MultipleErrorMessages = ({ messages }: { messages: ErrorMessage[] }) => ( <> There are multiple errors: ); const ErrorDialog = () => { const dispatch = useDispatch(); const isVisible = useSelector(isVisibleSelector); const messages = useSelector(messagesSelector); const errorResolutions = useSelector(errorResolutionsSelector); return ( dispatch(hideDialog())} footer={ errorResolutions && Object.entries(errorResolutions).map( ([label, handler], index) => ( {label} ), ) } > {messages.length === 1 ? ( ) : ( )} ); }; export default ErrorDialog;