Skip to content

Commit 426a721

Browse files
committed
fixup! fixup! ♿️(frontend) redirect unmanaged 5xx to dedicated /500 page
1 parent d038fa0 commit 426a721

1 file changed

Lines changed: 23 additions & 16 deletions

File tree

src/frontend/apps/impress/src/features/docs/doc-versioning/components/DocVersionEditor.tsx

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useRouter } from 'next/router';
33
import { useEffect, useState } from 'react';
44
import * as Y from 'yjs';
55

6-
import { Box } from '@/components';
6+
import { Box, Text, TextErrors } from '@/components';
77
import { BlockNoteReader } from '@/docs/doc-editor/components/BlockNoteEditor';
88
import { DocEditorContainer } from '@/docs/doc-editor/components/DocEditor';
99
import { Doc, base64ToBlocknoteXmlFragment } from '@/docs/doc-management';
@@ -32,7 +32,7 @@ export const DocVersionEditor = ({
3232
versionId,
3333
});
3434

35-
const { replace, asPath } = useRouter();
35+
const { replace } = useRouter();
3636
const [initialContent, setInitialContent] = useState<Y.XmlFragment>();
3737

3838
// Reset initialContent when versionId changes to avoid conflicts between versions
@@ -48,23 +48,30 @@ export const DocVersionEditor = ({
4848
setInitialContent(base64ToBlocknoteXmlFragment(version.content));
4949
}, [versionId, version?.content, isLoading, initialContent]);
5050

51-
useEffect(() => {
52-
if (!isError || !error) {
53-
return;
54-
}
55-
51+
if (isError && error) {
5652
if (error.status === 404) {
57-
void replace('/404');
58-
} else if (error.status === 502) {
59-
void replace('/offline');
60-
} else {
61-
const fromPath = encodeURIComponent(asPath);
62-
void replace(`/500?from=${fromPath}`);
53+
void replace(`/404`);
54+
return null;
6355
}
64-
}, [isError, error, replace, asPath]);
6556

66-
if (isError) {
67-
return null;
57+
return (
58+
<Box $margin="large" className="--docs--doc-version-editor-error">
59+
<TextErrors
60+
causes={error.cause}
61+
icon={
62+
error.status === 502 ? (
63+
<Text
64+
className="material-icons"
65+
$theme="danger"
66+
aria-hidden={true}
67+
>
68+
wifi_off
69+
</Text>
70+
) : undefined
71+
}
72+
/>
73+
</Box>
74+
);
6875
}
6976

7077
if (isLoading || !version || !initialContent) {

0 commit comments

Comments
 (0)