aboutsummaryrefslogtreecommitdiffstats
path: root/packages/excalidraw/components/TTDDialog/TTDDialogOutput.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/excalidraw/components/TTDDialog/TTDDialogOutput.tsx')
-rw-r--r--packages/excalidraw/components/TTDDialog/TTDDialogOutput.tsx39
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>
+ );
+};