Skip to content

Commit 8f974e3

Browse files
committed
Add hover tooltips to all buttons across components
1 parent a5654ed commit 8f974e3

File tree

7 files changed

+21
-17
lines changed

7 files changed

+21
-17
lines changed

src/components/AddNodeBar.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ function formatType(t) {
2828
@input="emit('update:nodeTitle', $event.target.value)"
2929
@keyup.enter="emit('create')"
3030
/>
31-
<button class="primary" @click="emit('create')">Add</button>
31+
<button class="primary" @click="emit('create')" title="Add new node">Add</button>
3232
</div>
3333
</template>
3434

src/components/AddNodeModal.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</svg>
1313
<h3>{{ title }}</h3>
1414
</div>
15-
<button class="close-btn" @click="$emit('close')" aria-label="Close">
15+
<button class="close-btn" @click="$emit('close')" aria-label="Close" title="Close dialog">
1616
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
1717
<path d="M18 6L6 18M6 6l12 12"/>
1818
</svg>
@@ -43,6 +43,7 @@
4343
:class="[t, { disabled: !nodeTitle.trim() }]"
4444
:disabled="!nodeTitle.trim()"
4545
@click="createWithType(t)"
46+
:title="`Create as ${t}`"
4647
>
4748
<span class="type-icon">{{ getTypeIcon(t) }}</span>
4849
<span class="type-label">{{ t }}</span>

src/components/AppSidebar.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ watch(tagsCollapsed, (val) => localStorage.setItem('sidebar-tags-collapsed', Str
110110
v-if="node.children?.length"
111111
class="tree-expand-btn"
112112
@click.stop="emit('toggle-expand', node.id)"
113+
:title="expandedIds.has(node.id) ? 'Collapse' : 'Expand'"
113114
>{{ expandedIds.has(node.id) ? '−' : '+' }}</button>
114115
<span v-else class="tree-spacer"></span>
115116
<span class="type-icon" :class="node.type"><span v-html="getTypeIcon(node.type)"></span></span>
@@ -128,6 +129,7 @@ watch(tagsCollapsed, (val) => localStorage.setItem('sidebar-tags-collapsed', Str
128129
v-if="child.children?.length"
129130
class="tree-expand-btn"
130131
@click.stop="emit('toggle-expand', child.id)"
132+
:title="expandedIds.has(child.id) ? 'Collapse' : 'Expand'"
131133
>{{ expandedIds.has(child.id) ? '−' : '+' }}</button>
132134
<span v-else class="tree-spacer"></span>
133135
<span class="type-icon" :class="child.type"><span v-html="getTypeIcon(child.type)"></span></span>

src/components/CalendarView.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ function handleDragEnd() {
224224
<button class="nav-btn" @click="prevMonth" title="Previous month">&lt;</button>
225225
<h2 class="month-title" @click="goToToday">{{ monthName }}</h2>
226226
<button class="nav-btn" @click="nextMonth" title="Next month">&gt;</button>
227-
<button class="today-btn" @click="goToToday">Today</button>
227+
<button class="today-btn" @click="goToToday" title="Go to current month">Today</button>
228228
</div>
229229
230230
<!-- Day names header -->

src/components/DetachedView.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ watch(() => currentNode.value?.title, (newTitle) => {
204204
205205
<!-- Back navigation when we've drilled into children -->
206206
<div v-if="navigationHistory.length > 0" class="detached-nav">
207-
<button class="back-btn" @click="goBack">
207+
<button class="back-btn" @click="goBack" title="Go back to previous node">
208208
<span class="back-icon">&larr;</span> Back
209209
</button>
210210
</div>

src/components/DetailPanel.vue

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1177,9 +1177,9 @@ defineExpose({ loadChildren, loadLinkedOrganizations, loadLinkedMembers, loadLin
11771177
@apply-improvement="onAIImproveNotes"
11781178
/>
11791179
<div class="tab-buttons">
1180-
<button :class="{ active: activeTab === 'edit' }" @click="activeTab = 'edit'">Edit</button>
1181-
<button :class="{ active: activeTab === 'preview' }" @click="activeTab = 'preview'">Preview</button>
1182-
<button :class="{ active: activeTab === 'split' }" @click="activeTab = 'split'">Split</button>
1180+
<button :class="{ active: activeTab === 'edit' }" @click="activeTab = 'edit'" title="Edit notes (markdown source)">Edit</button>
1181+
<button :class="{ active: activeTab === 'preview' }" @click="activeTab = 'preview'" title="Preview rendered markdown">Preview</button>
1182+
<button :class="{ active: activeTab === 'split' }" @click="activeTab = 'split'" title="Side-by-side edit and preview">Split</button>
11831183
</div>
11841184
</div>
11851185
</div>
@@ -1506,7 +1506,7 @@ defineExpose({ loadChildren, loadLinkedOrganizations, loadLinkedMembers, loadLin
15061506
:value="editedNode.start_date?.split('T')[0] || ''"
15071507
@change="updateDate('start_date', $event.target.value)"
15081508
/>
1509-
<button v-if="editedNode.start_date" class="clear-btn" @click="clearDate('start_date')">x</button>
1509+
<button v-if="editedNode.start_date" class="clear-btn" @click="clearDate('start_date')" title="Clear start date">x</button>
15101510
</div>
15111511
</div>
15121512
@@ -1519,7 +1519,7 @@ defineExpose({ loadChildren, loadLinkedOrganizations, loadLinkedMembers, loadLin
15191519
:value="editedNode.due_date?.split('T')[0] || ''"
15201520
@change="updateDate('due_date', $event.target.value)"
15211521
/>
1522-
<button v-if="editedNode.due_date" class="clear-btn" @click="clearDate('due_date')">x</button>
1522+
<button v-if="editedNode.due_date" class="clear-btn" @click="clearDate('due_date')" title="Clear due date">x</button>
15231523
</div>
15241524
</div>
15251525
@@ -1532,7 +1532,7 @@ defineExpose({ loadChildren, loadLinkedOrganizations, loadLinkedMembers, loadLin
15321532
:value="editedNode.end_date?.split('T')[0] || ''"
15331533
@change="updateDate('end_date', $event.target.value)"
15341534
/>
1535-
<button v-if="editedNode.end_date" class="clear-btn" @click="clearDate('end_date')">x</button>
1535+
<button v-if="editedNode.end_date" class="clear-btn" @click="clearDate('end_date')" title="Clear end date">x</button>
15361536
</div>
15371537
</div>
15381538
@@ -1549,6 +1549,7 @@ defineExpose({ loadChildren, loadLinkedOrganizations, loadLinkedMembers, loadLin
15491549
v-if="editedNode.color && editedNode.color !== '#0f4c75'"
15501550
class="clear-btn"
15511551
@click="editedNode.color = '#0f4c75'; saveChanges()"
1552+
title="Reset to default color"
15521553
>x</button>
15531554
</div>
15541555
</div>
@@ -1564,7 +1565,7 @@ defineExpose({ loadChildren, loadLinkedOrganizations, loadLinkedMembers, loadLin
15641565
@blur="saveChanges"
15651566
class="location-input"
15661567
/>
1567-
<button class="clear-btn" @click="editedNode.location = null; saveChanges()">x</button>
1568+
<button class="clear-btn" @click="editedNode.location = null; saveChanges()" title="Clear location">x</button>
15681569
</div>
15691570
<button v-else class="add-field-btn compact" @click="editedNode.location = ' '" title="Add location">+Location</button>
15701571
@@ -1627,11 +1628,11 @@ defineExpose({ loadChildren, loadLinkedOrganizations, loadLinkedMembers, loadLin
16271628
16281629
<!-- Actions -->
16291630
<div class="detail-actions">
1630-
<button @click="wrapWithParent">Wrap with Parent</button>
1631-
<button @click="moveToRoot">Move to Root</button>
1632-
<button @click="copyNodeContent">Export</button>
1631+
<button @click="wrapWithParent" title="Create a new parent node and make this node its child">Wrap with Parent</button>
1632+
<button @click="moveToRoot" title="Move this node to the root level">Move to Root</button>
1633+
<button @click="copyNodeContent" title="Copy node content as markdown">Export</button>
16331634
<span class="spacer"></span>
1634-
<button class="danger" @click="deleteNode">Delete</button>
1635+
<button class="danger" @click="deleteNode" title="Delete this node">Delete</button>
16351636
</div>
16361637
</div>
16371638
</aside>

src/components/GraphView.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2672,8 +2672,8 @@ onUnmounted(() => {
26722672
</button>
26732673
<div v-if="showTypeFilter" class="type-filter-dropdown">
26742674
<div class="type-filter-actions">
2675-
<button @click="selectAllTypes">All</button>
2676-
<button @click="selectNoTypes">None</button>
2675+
<button @click="selectAllTypes" title="Show all node types">All</button>
2676+
<button @click="selectNoTypes" title="Hide all node types">None</button>
26772677
</div>
26782678
<label
26792679
v-for="type in ALL_NODE_TYPES"

0 commit comments

Comments
 (0)