diff --git a/packages/website/src/components/ErrorsViewer.module.css b/packages/website/src/components/ErrorsViewer.module.css index 0c227bbb4c82..4cfc2e15d18c 100644 --- a/packages/website/src/components/ErrorsViewer.module.css +++ b/packages/website/src/components/ErrorsViewer.module.css @@ -22,3 +22,11 @@ .fixer { margin: 0.5rem 0 0.5rem 1.5rem; } + +.errorPre { + background: transparent; + margin: 0; + padding: 0; + white-space: break-spaces; + word-wrap: break-word; +} diff --git a/packages/website/src/components/ErrorsViewer.tsx b/packages/website/src/components/ErrorsViewer.tsx index b60d2dd97118..018bcd49abe2 100644 --- a/packages/website/src/components/ErrorsViewer.tsx +++ b/packages/website/src/components/ErrorsViewer.tsx @@ -5,6 +5,8 @@ import type Monaco from 'monaco-editor'; import React, { useEffect, useState } from 'react'; import styles from './ErrorsViewer.module.css'; +import type { AlertBlockProps } from './layout/AlertBlock'; +import AlertBlock from './layout/AlertBlock'; import type { ErrorGroup, ErrorItem } from './types'; export interface ErrorsViewerProps { @@ -17,13 +19,7 @@ export interface ErrorViewerProps { readonly type: AlertBlockProps['type']; } -interface AlertBlockProps { - readonly type: 'danger' | 'warning' | 'note' | 'info' | 'success'; - readonly children: React.ReactNode; - readonly fixer?: boolean; -} - -interface ErrorBlockProps { +export interface ErrorBlockProps { readonly item: ErrorItem; readonly setIsLocked: (value: boolean) => void; readonly isLocked: boolean; @@ -64,14 +60,6 @@ function FixButton(props: FixButtonProps): JSX.Element { ); } -function AlertBlock(props: AlertBlockProps): JSX.Element { - return ( -
{item.message} {item.location} -
+ {type === 'danger' ? value?.stack : value.message} +