diff --git a/apps/web/src/components/DiagramEditorPane.tsx b/apps/web/src/components/DiagramEditorPane.tsx
index 57cca4c4..eec985f3 100644
--- a/apps/web/src/components/DiagramEditorPane.tsx
+++ b/apps/web/src/components/DiagramEditorPane.tsx
@@ -2077,8 +2077,9 @@ export const DiagramEditorPane = ({
-
{t(desktopFocusMode ? "editor.exitFocusMode" : "editor.focusMode")}
diff --git a/apps/web/src/components/EditorPane.tsx b/apps/web/src/components/EditorPane.tsx
index abd88054..8fd14824 100644
--- a/apps/web/src/components/EditorPane.tsx
+++ b/apps/web/src/components/EditorPane.tsx
@@ -3853,24 +3853,6 @@ const RichEditorPane = ({
-
-
-
-
- {desktopFocusMode ? : }
-
-
-
- {t(desktopFocusMode ? "editor.exitFocusMode" : "editor.focusMode")}
-
-
-
@@ -4295,6 +4277,18 @@ const RichEditorPane = ({
)}
+
+ {desktopFocusMode ? : }
+ {t(desktopFocusMode ? "editor.exitFocusMode" : "editor.focusMode")}
+
{noteSearchOpen ? (
diff --git a/apps/web/src/components/FocusModeEntry.test.mjs b/apps/web/src/components/FocusModeEntry.test.mjs
new file mode 100644
index 00000000..647b8297
--- /dev/null
+++ b/apps/web/src/components/FocusModeEntry.test.mjs
@@ -0,0 +1,30 @@
+import { describe, expect, test } from "bun:test";
+import { readFileSync } from "node:fs";
+
+const editorPaneSource = readFileSync(new URL("./EditorPane.tsx", import.meta.url), "utf8");
+const diagramEditorPaneSource = readFileSync(new URL("./DiagramEditorPane.tsx", import.meta.url), "utf8");
+
+const expectDiscoverableFocusModeEntry = (source) => {
+ const normalizedSource = source.replace(/\s+/g, " ");
+ expect(normalizedSource).toContain('size="sm" variant={desktopFocusMode ? "soft" : "ghost"}');
+ expect(normalizedSource).toContain('{t(desktopFocusMode ? "editor.exitFocusMode" : "editor.focusMode")}');
+ expect(source).not.toContain('size="sm"\n variant="solid"');
+};
+
+describe("focus mode entry", () => {
+ test("labels a restrained action in every desktop note editor instead of relying on an ambiguous icon", () => {
+ expectDiscoverableFocusModeEntry(editorPaneSource);
+ expectDiscoverableFocusModeEntry(diagramEditorPaneSource);
+ });
+
+ test("groups the standard editor entry with note view controls instead of top-level navigation", () => {
+ const readingProtectionIconIndex = editorPaneSource.indexOf(
+ '{desktopReadingProtection ? : }',
+ );
+ const focusModeEntryIndex = editorPaneSource.indexOf(
+ 'title={t(desktopFocusMode ? "editor.exitFocusMode" : "editor.enterFocusMode")}',
+ );
+ expect(readingProtectionIconIndex).toBeGreaterThan(-1);
+ expect(focusModeEntryIndex).toBeGreaterThan(readingProtectionIconIndex);
+ });
+});