From 718cf91286c18df883f1e619d53749db1d802a28 Mon Sep 17 00:00:00 2001 From: Armano Date: Wed, 22 Mar 2023 13:56:28 +0100 Subject: [PATCH 1/2] chore(website): correct design issues in error viewer --- .../src/components/ErrorsViewer.module.css | 8 +++ .../website/src/components/ErrorsViewer.tsx | 55 +++++++------------ .../src/components/layout/AlertBlock.tsx | 16 ++++++ 3 files changed, 43 insertions(+), 36 deletions(-) create mode 100644 packages/website/src/components/layout/AlertBlock.tsx 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..a0fd4e315db6 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 ( -
-
{props.children}
-
- ); -} - function ErrorBlock({ item, setIsLocked, @@ -80,9 +68,9 @@ function ErrorBlock({ return (
-
+
           {item.message} {item.location}
-        
+ {item.fixer && ( {item.suggestions.map((fixer, index) => (
> {fixer.message} @@ -112,16 +100,6 @@ function ErrorBlock({ ); } -function SuccessBlock(): JSX.Element { - return ( - -
-
All is ok!
-
-
- ); -} - export function ErrorViewer({ value, title, @@ -134,7 +112,9 @@ export function ErrorViewer({

{title}

- {type === 'danger' ? value.stack : value.message} +
+            {type === 'danger' ? value?.stack : value.message}
+          
@@ -170,19 +150,22 @@ export function ErrorsViewer({ value }: ErrorsViewerProps): JSX.Element { )} {items.map((item, index) => ( - +
+ +
))} ); }) ) : (
- + +
All is ok!
+
)} diff --git a/packages/website/src/components/layout/AlertBlock.tsx b/packages/website/src/components/layout/AlertBlock.tsx new file mode 100644 index 000000000000..adfa071acdd8 --- /dev/null +++ b/packages/website/src/components/layout/AlertBlock.tsx @@ -0,0 +1,16 @@ +import React from 'react'; + +export interface AlertBlockProps { + readonly type: 'success' | 'info' | 'note' | 'warning' | 'danger'; + readonly children: React.ReactNode; +} + +function AlertBlock(props: AlertBlockProps): JSX.Element { + return ( +
+
{props.children}
+
+ ); +} + +export default AlertBlock; From 613ff120d10150cc2882606053bcaebe778bf920 Mon Sep 17 00:00:00 2001 From: Armano Date: Wed, 22 Mar 2023 19:43:34 +0100 Subject: [PATCH 2/2] fix: remove unnecessary string cast --- packages/website/src/components/ErrorsViewer.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/website/src/components/ErrorsViewer.tsx b/packages/website/src/components/ErrorsViewer.tsx index a0fd4e315db6..018bcd49abe2 100644 --- a/packages/website/src/components/ErrorsViewer.tsx +++ b/packages/website/src/components/ErrorsViewer.tsx @@ -83,7 +83,7 @@ function ErrorBlock({
{item.suggestions.map((fixer, index) => (
> {fixer.message} @@ -150,7 +150,7 @@ export function ErrorsViewer({ value }: ErrorsViewerProps): JSX.Element { )} {items.map((item, index) => ( -
+