diff options
Diffstat (limited to 'packages/excalidraw/components/TTDDialog/TTDDialogOutput.tsx')
| -rw-r--r-- | packages/excalidraw/components/TTDDialog/TTDDialogOutput.tsx | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/packages/excalidraw/components/TTDDialog/TTDDialogOutput.tsx b/packages/excalidraw/components/TTDDialog/TTDDialogOutput.tsx new file mode 100644 index 0000000..084a67f --- /dev/null +++ b/packages/excalidraw/components/TTDDialog/TTDDialogOutput.tsx @@ -0,0 +1,39 @@ +import Spinner from "../Spinner"; + +const ErrorComp = ({ error }: { error: string }) => { + return ( + <div + data-testid="ttd-dialog-output-error" + className="ttd-dialog-output-error" + > + Error! <p>{error}</p> + </div> + ); +}; + +interface TTDDialogOutputProps { + error: Error | null; + canvasRef: React.RefObject<HTMLDivElement | null>; + loaded: boolean; +} + +export const TTDDialogOutput = ({ + error, + canvasRef, + loaded, +}: TTDDialogOutputProps) => { + return ( + <div className="ttd-dialog-output-wrapper"> + {error && <ErrorComp error={error.message} />} + {loaded ? ( + <div + ref={canvasRef} + style={{ opacity: error ? "0.15" : 1 }} + className="ttd-dialog-output-canvas-container" + /> + ) : ( + <Spinner size="2rem" /> + )} + </div> + ); +}; |
