From 828da2aabfaa5200711054f86850a10513df07d2 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 9 Jun 2025 16:22:22 +0300 Subject: [PATCH] refactor(share): relocate 404 template --- apps/server/src/share/routes.ts | 16 +++++++++++----- .../share-theme/src/templates}/404.ejs | 0 2 files changed, 11 insertions(+), 5 deletions(-) rename {apps/server/src/assets/views/share => packages/share-theme/src/templates}/404.ejs (100%) 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