From 082040c6e143c0d5bb4dc51c325b2917eec42c0f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 28 Dec 2025 21:03:30 +0200 Subject: [PATCH] feat(share): display an icon for attachment download --- apps/server/src/share/content_renderer.spec.ts | 11 ++++++----- apps/server/src/share/content_renderer.ts | 8 +++++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/apps/server/src/share/content_renderer.spec.ts b/apps/server/src/share/content_renderer.spec.ts index da0833c58..51baa503f 100644 --- a/apps/server/src/share/content_renderer.spec.ts +++ b/apps/server/src/share/content_renderer.spec.ts @@ -1,7 +1,8 @@ -import { describe, it, expect } from "vitest"; -import { getContent, renderCode, type Result } from "./content_renderer.js"; import { trimIndentation } from "@triliumnext/commons"; +import { describe, expect,it, vi } from "vitest"; + import { buildShareNote, buildShareNotes } from "../test/shaca_mocking.js"; +import { getContent, renderCode, type Result } from "./content_renderer.js"; describe("content_renderer", () => { beforeAll(() => { @@ -84,7 +85,7 @@ describe("content_renderer", () => { </BuilderRow> </t> - `) + `); }); describe("Reference links", () => { @@ -106,7 +107,7 @@ describe("content_renderer", () => { expect(result.content).toStrictEqual(trimIndentation`\

Test

- 5863845791835102555.mp4 + 5863845791835102555.mp4  

`); @@ -170,7 +171,7 @@ describe("content_renderer", () => { const result = getContent(note); expect(result.content).toStrictEqual(trimIndentation`\

- The quick <strong>brown</strong> fox + The quick <strong>brown</strong> fox

`); }); diff --git a/apps/server/src/share/content_renderer.ts b/apps/server/src/share/content_renderer.ts index 077614001..6a6f47432 100644 --- a/apps/server/src/share/content_renderer.ts +++ b/apps/server/src/share/content_renderer.ts @@ -413,7 +413,13 @@ function handleAttachmentLink(linkEl: HTMLElement, href: string, getNote: GetNot function cleanUpReferenceLinks(linkEl: HTMLElement, getNote: GetNoteFunction) { // Note: this method is basically a reimplementation of getReferenceLinkTitleSync from the link service of the client. const href = linkEl.getAttribute("href") ?? ""; - if (linkEl.classList.contains("attachment-link")) return; + + // Handle attachment reference links + if (linkEl.classList.contains("attachment-link")) { + const title = linkEl.innerText; + linkEl.innerHTML = `${utils.escapeHtml(title)}`; + return; + } const noteId = href.split("/").at(-1); const note = noteId ? getNote(noteId) : undefined;