diff --git a/apps/server/src/share/routes.ts b/apps/server/src/share/routes.ts
index 0a4fad593..7e18ca505 100644
--- a/apps/server/src/share/routes.ts
+++ b/apps/server/src/share/routes.ts
@@ -108,7 +108,8 @@ function renderImageAttachment(image: SNote, res: Response, attachmentName: stri
let svgString = "";
const attachment = image.getAttachmentByTitle(attachmentName);
if (!attachment) {
- res.status(404).render("share/404");
+ res.status(404);
+ renderDefault(res, "404");
return;
}
const content = attachment.getContent();
@@ -140,7 +141,8 @@ function register(router: Router) {
function renderNote(note: SNote, req: Request, res: Response) {
if (!note) {
console.log("Unable to find note ", note);
- res.status(404).render("share/404");
+ res.status(404);
+ renderDefault(res, "404");
return;
}
@@ -212,9 +214,7 @@ function register(router: Router) {
}
if (useDefaultView) {
- // Path is relative to apps/server/dist/assets/views
- const shareThemePath = "../../share-theme/templates/page.ejs";
- res.render(shareThemePath, opts);
+ renderDefault(res, "page", opts);
}
}
@@ -399,6 +399,12 @@ function register(router: Router) {
});
}
+function renderDefault(res: Response>, template: "page" | "404", opts: any = {}) {
+ // Path is relative to apps/server/dist/assets/views
+ const shareThemePath = `../../share-theme/templates/${template}.ejs`;
+ res.render(shareThemePath, opts);
+}
+
export default {
register
};
diff --git a/apps/server/src/assets/views/share/404.ejs b/packages/share-theme/src/templates/404.ejs
similarity index 100%
rename from apps/server/src/assets/views/share/404.ejs
rename to packages/share-theme/src/templates/404.ejs