design: click-opens-new-tab wireframes

Two frames showing click vs Cmd+Click behavior:
1. Click — Replace Current Tab (note replaces active tab content)
2. Cmd+Click — Open New Tab (new tab created, original preserved)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
lucaronin
2026-02-23 20:14:23 +01:00
parent da6da48af6
commit d5b89de0b2

View File

@@ -0,0 +1,387 @@
{
"version": 1,
"children": [
{
"type": "frame",
"id": "click-replace-tab",
"x": 0,
"y": 0,
"name": "Click — Replace Current Tab",
"clip": true,
"width": 900,
"height": 500,
"fill": "$--background",
"layout": "vertical",
"children": [
{
"type": "text",
"id": "click-title",
"text": "Click on note = Replace current tab",
"fontSize": 20,
"fontWeight": 700,
"fill": "$--foreground",
"padding": { "top": 16, "left": 16, "right": 16, "bottom": 8 }
},
{
"type": "text",
"id": "click-desc",
"text": "Regular click on a note in NoteList replaces the active tab's content.\nNo new tab is created — the current tab simply shows the clicked note.\nIf the note is already open in another tab, that tab becomes active instead.",
"fontSize": 14,
"fill": "$--muted-foreground",
"padding": { "top": 0, "left": 16, "right": 16, "bottom": 16 }
},
{
"type": "frame",
"id": "click-diagram",
"name": "Click Flow Diagram",
"width": "fill_container",
"height": 300,
"fill": "$--card",
"layout": "horizontal",
"padding": { "top": 24, "left": 24, "right": 24, "bottom": 24 },
"gap": 24,
"children": [
{
"type": "frame",
"id": "click-before",
"name": "Before Click",
"width": 200,
"height": 250,
"fill": "$--muted",
"layout": "vertical",
"cornerRadius": 8,
"children": [
{
"type": "text",
"id": "click-before-label",
"text": "BEFORE",
"fontSize": 10,
"fontWeight": 600,
"fill": "$--muted-foreground",
"padding": { "top": 8, "left": 12, "right": 12, "bottom": 4 }
},
{
"type": "frame",
"id": "click-before-tab",
"name": "Tab Bar",
"width": "fill_container",
"height": 32,
"fill": "$--sidebar",
"children": [
{
"type": "text",
"id": "click-before-tab-text",
"text": "Note A (active)",
"fontSize": 12,
"fill": "$--foreground",
"padding": { "top": 8, "left": 12 }
}
]
},
{
"type": "frame",
"id": "click-before-list",
"name": "Note List",
"width": "fill_container",
"height": 160,
"fill": "$--background",
"layout": "vertical",
"children": [
{
"type": "text",
"id": "click-note-a",
"text": "Note A",
"fontSize": 12,
"fill": "$--foreground",
"padding": { "top": 8, "left": 12 }
},
{
"type": "frame",
"id": "click-note-b-highlight",
"width": "fill_container",
"height": 32,
"fill": "$--accent-blue-light",
"stroke": { "align": "inside", "thickness": { "left": 3 }, "color": "$--accent-blue" },
"children": [
{
"type": "text",
"id": "click-note-b",
"text": "Note B <-- Click",
"fontSize": 12,
"fontWeight": 600,
"fill": "$--accent-blue",
"padding": { "top": 8, "left": 12 }
}
]
},
{
"type": "text",
"id": "click-note-c",
"text": "Note C",
"fontSize": 12,
"fill": "$--foreground",
"padding": { "top": 8, "left": 12 }
}
]
}
]
},
{
"type": "text",
"id": "click-arrow",
"text": "-->",
"fontSize": 24,
"fill": "$--muted-foreground",
"padding": { "top": 100 }
},
{
"type": "frame",
"id": "click-after",
"name": "After Click",
"width": 200,
"height": 250,
"fill": "$--muted",
"layout": "vertical",
"cornerRadius": 8,
"children": [
{
"type": "text",
"id": "click-after-label",
"text": "AFTER",
"fontSize": 10,
"fontWeight": 600,
"fill": "$--accent-green",
"padding": { "top": 8, "left": 12, "right": 12, "bottom": 4 }
},
{
"type": "frame",
"id": "click-after-tab",
"name": "Tab Bar — same tab, new content",
"width": "fill_container",
"height": 32,
"fill": "$--accent-blue-light",
"children": [
{
"type": "text",
"id": "click-after-tab-text",
"text": "Note B (replaced A)",
"fontSize": 12,
"fontWeight": 600,
"fill": "$--accent-blue",
"padding": { "top": 8, "left": 12 }
}
]
},
{
"type": "text",
"id": "click-after-note",
"text": "Still 1 tab.\nTab content changed\nfrom A to B.",
"fontSize": 12,
"fill": "$--muted-foreground",
"padding": { "top": 16, "left": 12 }
}
]
}
]
}
]
},
{
"type": "frame",
"id": "cmd-click-new-tab",
"x": 950,
"y": 0,
"name": "Cmd+Click — Open New Tab",
"clip": true,
"width": 900,
"height": 500,
"fill": "$--background",
"layout": "vertical",
"children": [
{
"type": "text",
"id": "cmd-title",
"text": "Cmd+Click on note = Open new tab",
"fontSize": 20,
"fontWeight": 700,
"fill": "$--foreground",
"padding": { "top": 16, "left": 16, "right": 16, "bottom": 8 }
},
{
"type": "text",
"id": "cmd-desc",
"text": "Cmd+Click (macOS) or Ctrl+Click (Windows/Linux) opens the note in a new tab.\nIf the note is already open in any tab, that tab becomes active (no duplicates).\nThis matches the browser-standard pattern used by Bear, Obsidian, etc.",
"fontSize": 14,
"fill": "$--muted-foreground",
"padding": { "top": 0, "left": 16, "right": 16, "bottom": 16 }
},
{
"type": "frame",
"id": "cmd-diagram",
"name": "Cmd+Click Flow Diagram",
"width": "fill_container",
"height": 300,
"fill": "$--card",
"layout": "horizontal",
"padding": { "top": 24, "left": 24, "right": 24, "bottom": 24 },
"gap": 24,
"children": [
{
"type": "frame",
"id": "cmd-before",
"name": "Before Cmd+Click",
"width": 200,
"height": 250,
"fill": "$--muted",
"layout": "vertical",
"cornerRadius": 8,
"children": [
{
"type": "text",
"id": "cmd-before-label",
"text": "BEFORE",
"fontSize": 10,
"fontWeight": 600,
"fill": "$--muted-foreground",
"padding": { "top": 8, "left": 12, "right": 12, "bottom": 4 }
},
{
"type": "frame",
"id": "cmd-before-tab",
"name": "Tab Bar — 1 tab",
"width": "fill_container",
"height": 32,
"fill": "$--sidebar",
"children": [
{
"type": "text",
"id": "cmd-before-tab-text",
"text": "Note A (active)",
"fontSize": 12,
"fill": "$--foreground",
"padding": { "top": 8, "left": 12 }
}
]
},
{
"type": "frame",
"id": "cmd-before-list",
"name": "Note List",
"width": "fill_container",
"height": 160,
"fill": "$--background",
"layout": "vertical",
"children": [
{
"type": "text",
"id": "cmd-note-a",
"text": "Note A",
"fontSize": 12,
"fill": "$--foreground",
"padding": { "top": 8, "left": 12 }
},
{
"type": "frame",
"id": "cmd-note-b-highlight",
"width": "fill_container",
"height": 32,
"fill": "$--accent-purple-light",
"stroke": { "align": "inside", "thickness": { "left": 3 }, "color": "$--accent-purple" },
"children": [
{
"type": "text",
"id": "cmd-note-b",
"text": "Note B <-- Cmd+Click",
"fontSize": 12,
"fontWeight": 600,
"fill": "$--accent-purple",
"padding": { "top": 8, "left": 12 }
}
]
},
{
"type": "text",
"id": "cmd-note-c",
"text": "Note C",
"fontSize": 12,
"fill": "$--foreground",
"padding": { "top": 8, "left": 12 }
}
]
}
]
},
{
"type": "text",
"id": "cmd-arrow",
"text": "-->",
"fontSize": 24,
"fill": "$--muted-foreground",
"padding": { "top": 100 }
},
{
"type": "frame",
"id": "cmd-after",
"name": "After Cmd+Click",
"width": 200,
"height": 250,
"fill": "$--muted",
"layout": "vertical",
"cornerRadius": 8,
"children": [
{
"type": "text",
"id": "cmd-after-label",
"text": "AFTER",
"fontSize": 10,
"fontWeight": 600,
"fill": "$--accent-green",
"padding": { "top": 8, "left": 12, "right": 12, "bottom": 4 }
},
{
"type": "frame",
"id": "cmd-after-tabs",
"name": "Tab Bar — 2 tabs",
"width": "fill_container",
"height": 32,
"fill": "$--sidebar",
"layout": "horizontal",
"children": [
{
"type": "text",
"id": "cmd-after-tab-a",
"text": "Note A",
"fontSize": 12,
"fill": "$--muted-foreground",
"padding": { "top": 8, "left": 12 }
},
{
"type": "text",
"id": "cmd-after-tab-b",
"text": "Note B (new)",
"fontSize": 12,
"fontWeight": 600,
"fill": "$--accent-purple",
"padding": { "top": 8, "left": 12 }
}
]
},
{
"type": "text",
"id": "cmd-after-note",
"text": "Now 2 tabs.\nNew tab created for B.\nA stays open.",
"fontSize": 12,
"fill": "$--muted-foreground",
"padding": { "top": 16, "left": 12 }
}
]
}
]
}
]
}
],
"variables": {},
"themes": {},
"fonts": []
}