diff --git a/frontend/taskdeck-web/src/components/board/CardItem.vue b/frontend/taskdeck-web/src/components/board/CardItem.vue index ffb25fe4e..92472e424 100644 --- a/frontend/taskdeck-web/src/components/board/CardItem.vue +++ b/frontend/taskdeck-web/src/components/board/CardItem.vue @@ -83,7 +83,7 @@ function isOverdue(dateString: string | null): boolean { - Drag card + Drag card @@ -203,6 +203,22 @@ function isOverdue(dateString: string | null): boolean { font-weight: 600; text-transform: uppercase; letter-spacing: 0.2em; + transition: opacity var(--td-transition-fast); +} + +/* Hide "Drag card" text by default; reveal only on drag-handle hover. + Use width/overflow collapse (not just opacity) so the invisible text + does not consume horizontal space in the flex button layout. */ +.td-board-card__drag-label--hidden { + opacity: 0; + width: 0; + overflow: hidden; +} + +.td-card-drag-handle:hover .td-board-card__drag-label--hidden { + opacity: 1; + width: auto; + overflow: visible; } /* ── Badge row ── */ diff --git a/frontend/taskdeck-web/src/components/board/CardModal.vue b/frontend/taskdeck-web/src/components/board/CardModal.vue index 3a9cd6790..d3fef7499 100644 --- a/frontend/taskdeck-web/src/components/board/CardModal.vue +++ b/frontend/taskdeck-web/src/components/board/CardModal.vue @@ -424,6 +424,12 @@ onBeforeUnmount(() => { :value="label.id" class="w-4 h-4 text-primary border-outline-variant rounded focus:ring-primary/50" /> + + {{ label.name }} diff --git a/frontend/taskdeck-web/src/components/shell/ShellSidebar.vue b/frontend/taskdeck-web/src/components/shell/ShellSidebar.vue index ce142cd48..a2c4b3d36 100644 --- a/frontend/taskdeck-web/src/components/shell/ShellSidebar.vue +++ b/frontend/taskdeck-web/src/components/shell/ShellSidebar.vue @@ -234,7 +234,10 @@ defineExpose({