mirror of
https://github.com/zadam/trilium.git
synced 2025-10-29 17:26:38 +01:00
feat(client/print): render 404 errors
This commit is contained in:
@@ -18,18 +18,19 @@ async function main() {
|
|||||||
const froca = (await import("./services/froca")).default;
|
const froca = (await import("./services/froca")).default;
|
||||||
const note = await froca.getNote(noteId);
|
const note = await froca.getNote(noteId);
|
||||||
|
|
||||||
if (!note) return;
|
render(<App note={note} noteId={noteId} />, document.body);
|
||||||
render(<App note={note} />, document.body);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function App({ note }: { note: FNote }) {
|
function App({ note, noteId }: { note: FNote | null | undefined, noteId: string }) {
|
||||||
const sentReadyEvent = useRef(false);
|
const sentReadyEvent = useRef(false);
|
||||||
const onReady = useCallback(() => {
|
const onReady = useCallback(() => {
|
||||||
if (sentReadyEvent.current) return;
|
if (sentReadyEvent.current) return;
|
||||||
window.dispatchEvent(new Event("note-ready"));
|
window.dispatchEvent(new Event("note-ready"));
|
||||||
sentReadyEvent.current = true;
|
sentReadyEvent.current = true;
|
||||||
}, []);
|
}, []);
|
||||||
const props: RendererProps = { note, onReady };
|
const props: RendererProps | undefined | null = note && { note, onReady };
|
||||||
|
|
||||||
|
if (!note || !props) return <Error404 noteId={noteId} />
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -74,4 +75,13 @@ function CollectionRenderer({ note, onReady }: RendererProps) {
|
|||||||
/>;
|
/>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Error404({ noteId }: { noteId: string }) {
|
||||||
|
return (
|
||||||
|
<main>
|
||||||
|
<p>The note you are trying to print could not be found.</p>
|
||||||
|
<small>{noteId}</small>
|
||||||
|
</main>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|||||||
Reference in New Issue
Block a user