Skip to content

[FEAT] Click into a page to start editing #113

Description

@MennaBashir

Is your feature request related to a problem? Please describe.

To edit a document, you have to find one of two hidden affordances: the hover pencil icon in the sidebar tree, or right-click on the tab Edit. There is no edit control on the page itself, so the most common action, opening a note to fix a word, requires icon hunting. This is friction that view/edit-mode apps like Notion solved by letting you just click into the page.

Describe the solution you'd like

When viewing a document (/view/$handle), clicking into the page content switches the tab to edit mode in place, reusing the exact mechanism the tab context menu "Edit" already uses (updateTab → /edit/$handle; preview tabs already auto-promote). Content is identical across the switch since both routes read the same local draft.

Guards so no click flips the mode accidentally:

  • Historical revisions (?v=) stay read-only
  • Links, images (ImageZoom keeps working), and interactive elements are excluded
  • Drag-selecting text to copy never triggers it (collapsed selection only)
  • Touch devices use double-tap, so tapping to scroll never pops the keyboard

Discoverability: cursor: text over the content area, the universal "you can type here" signal.

User control: a "Click to edit" preference in Settings → Preferences → Editor: Single click (default) / Double click / Off, stored client-side in the persisted UI store, no backend or schema changes.

Describe alternatives you've considered

Double-click as the default trigger, safer but less fluid; offered as a preference option instead.

Additional context

Frontend-only change (view-document.tsx, UI store slice, preferences settings). Entering edit mode is non-destructive; nothing is saved until the user types. I'd like to implement this myself and can open a PR shortly after feedback.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions