fix: move 'Add icon' button above title when no emoji (Notion-style)

When a note has no emoji icon, the NoteIcon area was occupying horizontal
space in the title row, pushing the title text to the right. Fix: render
NoteIcon in a separate div above the title row when no emoji is set, so
the title starts flush with the left margin. When an emoji is present,
the original inline-left layout is preserved.
This commit is contained in:
Test
2026-03-30 15:16:55 +02:00
parent 6d405a763d
commit 564ca50206
2 changed files with 31 additions and 7 deletions

View File

@@ -179,14 +179,26 @@
flex-shrink: 0;
}
.title-section__add-icon {
/* "Add icon" button above the title when no emoji — Notion-style */
padding-top: 24px;
margin-left: 8px;
min-height: 28px;
}
.title-section__row {
display: flex;
flex-direction: row;
align-items: flex-start;
padding-top: 32px;
padding-top: 8px;
margin-left: 8px;
}
/* When emoji is present, restore top padding to the row itself */
.title-section__row:has(.note-icon-button--active) {
padding-top: 32px;
}
.title-section__separator {
border-bottom: 1px solid var(--border-primary, rgba(0, 0, 0, 0.08));
margin-top: 12px;

View File

@@ -205,13 +205,25 @@ export function EditorContent({
{showEditor && activeTab && (
<div className="editor-scroll-area" style={cssVars as React.CSSProperties}>
<div className="title-section">
{!emojiIcon && (
<div className="title-section__add-icon">
<NoteIcon
icon={null}
editable={!isTrashed}
onSetIcon={handleSetIcon}
onRemoveIcon={handleRemoveIcon}
/>
</div>
)}
<div className="title-section__row">
<NoteIcon
icon={emojiIcon}
editable={!isTrashed}
onSetIcon={handleSetIcon}
onRemoveIcon={handleRemoveIcon}
/>
{emojiIcon && (
<NoteIcon
icon={emojiIcon}
editable={!isTrashed}
onSetIcon={handleSetIcon}
onRemoveIcon={handleRemoveIcon}
/>
)}
<TitleField
title={activeTab.entry.title}
filename={activeTab.entry.filename}