From ef6b7a85d569f7daa1515247b40c55d4f46ec495 Mon Sep 17 00:00:00 2001 From: zadam Date: Thu, 28 Jul 2022 23:59:41 +0200 Subject: [PATCH] don't display mermaid if the note is encrypted without protected session --- src/public/app/entities/note_short.js | 5 +++++ src/public/app/layouts/desktop_layout.js | 2 +- src/public/app/widgets/floating_buttons/floating_buttons.js | 4 ++++ src/public/app/widgets/mermaid.js | 4 +++- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/public/app/entities/note_short.js b/src/public/app/entities/note_short.js index 138a388ab..345857758 100644 --- a/src/public/app/entities/note_short.js +++ b/src/public/app/entities/note_short.js @@ -3,6 +3,7 @@ import noteAttributeCache from "../services/note_attribute_cache.js"; import ws from "../services/ws.js"; import options from "../services/options.js"; import froca from "../services/froca.js"; +import protectedSessionHolder from "../services/protected_session_holder.js"; const LABEL = 'label'; const RELATION = 'relation'; @@ -812,6 +813,10 @@ class NoteShort { return false; } + + isContentAvailable() { + return !this.isProtected || protectedSessionHolder.isProtectedSessionAvailable() + } } export default NoteShort; diff --git a/src/public/app/layouts/desktop_layout.js b/src/public/app/layouts/desktop_layout.js index 211df0637..70af45140 100644 --- a/src/public/app/layouts/desktop_layout.js +++ b/src/public/app/layouts/desktop_layout.js @@ -180,8 +180,8 @@ export default class DesktopLayout { .child(new SharedInfoWidget()) .child(new NoteUpdateStatusWidget()) .child(new FloatingButtons() - .child(new BacklinksWidget()) .child(new RelationMapButtons()) + .child(new BacklinksWidget()) ) .child(new MermaidWidget()) .child( diff --git a/src/public/app/widgets/floating_buttons/floating_buttons.js b/src/public/app/widgets/floating_buttons/floating_buttons.js index 23e8c96f9..10454d27e 100644 --- a/src/public/app/widgets/floating_buttons/floating_buttons.js +++ b/src/public/app/widgets/floating_buttons/floating_buttons.js @@ -16,6 +16,10 @@ const TPL = ` z-index: 100; } + .floating-buttons-children > * { + margin-left: 10px; + } + .floating-buttons .floating-button { font-size: 130%; padding: 5px 10px 4px 10px; diff --git a/src/public/app/widgets/mermaid.js b/src/public/app/widgets/mermaid.js index 094fe1d3d..ae89edadf 100644 --- a/src/public/app/widgets/mermaid.js +++ b/src/public/app/widgets/mermaid.js @@ -33,7 +33,9 @@ let idCounter = 1; export default class MermaidWidget extends NoteContextAwareWidget { isEnabled() { - return super.isEnabled() && this.note && this.note.type === 'mermaid'; + return super.isEnabled() + && this.note?.type === 'mermaid' + && this.note.isContentAvailable(); } doRender() {