diff --git a/app/actions/definitions/templates.tsx b/app/actions/definitions/templates.tsx index 47eeabd993..a32f46934f 100644 --- a/app/actions/definitions/templates.tsx +++ b/app/actions/definitions/templates.tsx @@ -18,7 +18,13 @@ import { createActionWithChildren, createInternalLinkAction, } from "~/actions"; -import { newDocumentPath, newTemplatePath, urlify } from "~/utils/routeHelpers"; +import history from "~/utils/history"; +import { + newDocumentPath, + newTemplatePath, + settingsPath, + urlify, +} from "~/utils/routeHelpers"; import { ActiveTemplateSection, TemplateSection } from "../sections"; import Template from "~/models/Template"; import { AvatarSize } from "~/components/Avatar"; @@ -57,6 +63,7 @@ export const deleteTemplate = createAction({ { await template.delete(); + history.push(settingsPath("templates")); toast.success(t("Template deleted")); }} savingText={`${t("Deleting")}…`} diff --git a/app/scenes/Settings/Template.tsx b/app/scenes/Settings/Template.tsx index 06901eb3cb..a5fe777410 100644 --- a/app/scenes/Settings/Template.tsx +++ b/app/scenes/Settings/Template.tsx @@ -10,6 +10,7 @@ import Breadcrumb from "~/components/Breadcrumb"; import Button from "~/components/Button"; import CollectionIcon from "~/components/Icons/CollectionIcon"; import LoadingIndicator from "~/components/LoadingIndicator"; +import Error404 from "~/scenes/Errors/Error404"; import Scene from "~/components/Scene"; import { TemplateForm } from "~/components/Template/TemplateForm"; import { createInternalLinkAction } from "~/actions"; @@ -29,7 +30,7 @@ const LoadingState = observer(function LoadingState() { const { id } = useParams<{ id: string }>(); const { templates, ui } = useStores(); const template = templates.get(id); - const { request } = useRequest(() => templates.fetch(id)); + const { request, error } = useRequest(() => templates.fetch(id)); useEffect(() => { if (!template) { @@ -46,6 +47,10 @@ const LoadingState = observer(function LoadingState() { }; }, [template, ui]); + if (error) { + return ; + } + if (!template) { return ; } diff --git a/shared/utils/ProsemirrorHelper.ts b/shared/utils/ProsemirrorHelper.ts index be44133600..09189a7db6 100644 --- a/shared/utils/ProsemirrorHelper.ts +++ b/shared/utils/ProsemirrorHelper.ts @@ -479,6 +479,7 @@ export class ProsemirrorHelper { node.attrs.href = env.URL + node.attrs.href; } if (node.content) { + node.content = node.content.filter(Boolean); node.content.forEach(replace); } @@ -502,6 +503,7 @@ export class ProsemirrorHelper { } if (node.content) { + node.content = node.content.filter(Boolean); node.content.forEach(replace); }