feat(layout/note_actions): prevent layout shift by disabling button

This commit is contained in:
Elian Doran
2025-12-15 08:17:01 +02:00
parent 50cbad22d0
commit 04a641199b
2 changed files with 11 additions and 2 deletions

View File

@@ -151,14 +151,15 @@ function RefreshButton({ note, noteType, isDefaultViewMode, parentComponent, not
}
function SwitchSplitOrientationButton({ note, isReadOnly, isDefaultViewMode }: NoteActionsCustomInnerProps) {
const isEnabled = note.type === "mermaid" && note.isContentAvailable() && !isReadOnly && isDefaultViewMode;
const isShown = note.type === "mermaid" && note.isContentAvailable() && isDefaultViewMode;
const [ splitEditorOrientation, setSplitEditorOrientation ] = useTriliumOption("splitEditorOrientation");
const upcomingOrientation = splitEditorOrientation === "horizontal" ? "vertical" : "horizontal";
return isEnabled && <ActionButton
return isShown && <ActionButton
text={upcomingOrientation === "vertical" ? t("switch_layout_button.title_vertical") : t("switch_layout_button.title_horizontal")}
icon={upcomingOrientation === "vertical" ? "bx bxs-dock-bottom" : "bx bxs-dock-left"}
onClick={() => setSplitEditorOrientation(upcomingOrientation)}
disabled={isReadOnly}
/>;
}

View File

@@ -451,6 +451,14 @@ body.experimental-feature-new-layout {
margin: 0;
gap: var(--button-gap);
button {
transition: opacity 250ms ease-in;
&.disabled {
opacity: 0.4;
}
}
.note-actions-custom {
display: flex;
align-items: center;