diff --git a/frontend/src/components/OnlyOfficeEditor.tsx b/frontend/src/components/OnlyOfficeEditor.tsx index 36e7807..9f1605a 100644 --- a/frontend/src/components/OnlyOfficeEditor.tsx +++ b/frontend/src/components/OnlyOfficeEditor.tsx @@ -21,6 +21,7 @@ interface OnlyOfficeEditorProps { export default function OnlyOfficeEditor({ file, type, onClose }: OnlyOfficeEditorProps) { const [downloadToken, setDownloadToken] = useState(null); + const [loadError, setLoadError] = useState(null); useEffect(() => { // We need a short-lived download token to pass to the Document Server @@ -31,8 +32,9 @@ export default function OnlyOfficeEditor({ file, type, onClose }: OnlyOfficeEdit if (!downloadToken) { return ( -
+
Loading Editor...
+ {loadError &&
Error: {loadError}
}
); } @@ -76,17 +78,8 @@ export default function OnlyOfficeEditor({ file, type, onClose }: OnlyOfficeEdit }; const onLoadComponentError = function (errorCode: number, errorDescription: string) { - switch (errorCode) { - case -1: // Unknown error loading component - console.log(errorDescription); - break; - case -2: // Error load DocsAPI from http://documentserver/ - console.log(errorDescription); - break; - case -3: // DocsAPI is not defined - console.log(errorDescription); - break; - } + setLoadError(`${errorCode}: ${errorDescription}`); + console.error("OnlyOffice Load Error:", errorCode, errorDescription); }; return ( @@ -101,13 +94,24 @@ export default function OnlyOfficeEditor({ file, type, onClose }: OnlyOfficeEdit
- + {loadError ? ( +
+ + + +

Failed to load OnlyOffice Editor

+

{loadError}

+

Check if your OnlyOffice server is running and accessible at the configured URL.

+
+ ) : ( + + )}
);