fix(task): make sure the drag handle is shown as intended
continuous-integration/drone/push Build is failing Details

Due to a previous refactoring, the drag handle was always shown instead of only on hover. The css class was moved out of the task component, but its styles weren't

Related to #3934
This commit is contained in:
kolaente 2024-02-06 18:29:17 +01:00
parent 6cc75928d8
commit 70f48eaaca
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
3 changed files with 23 additions and 13 deletions

View File

@ -30,7 +30,7 @@
</span> </span>
<span <span
v-if="project.id > 0" v-if="project.id > 0"
class="icon menu-item-icon handle lines-handle" class="icon menu-item-icon handle"
:class="{'has-color-bubble': project.hexColor !== ''}" :class="{'has-color-bubble': project.hexColor !== ''}"
> >
<icon icon="grip-lines"/> <icon icon="grip-lines"/>

View File

@ -2,7 +2,7 @@
<div> <div>
<div <div
:class="{'is-loading': taskService.loading}" :class="{'is-loading': taskService.loading}"
class="task loader-container" class="task loader-container single-task"
@mouseup.stop.self="openTaskDetail" @mouseup.stop.self="openTaskDetail"
@mousedown.stop.self="focusTaskLink" @mousedown.stop.self="focusTaskLink"
ref="taskContainerRef" ref="taskContainerRef"
@ -435,21 +435,12 @@ function focusTaskLink() {
} }
} }
.handle {
opacity: 1;
transition: opacity $transition;
margin-right: .25rem;
cursor: grab;
}
@media(hover: hover) and (pointer: fine) { @media(hover: hover) and (pointer: fine) {
& .favorite, & .favorite {
& .handle {
opacity: 0; opacity: 0;
} }
&:hover .favorite, &:hover .favorite {
&:hover .handle {
opacity: 1; opacity: 1;
} }
} }

View File

@ -333,4 +333,23 @@ function prepareFiltersAndLoadTasks() {
.control.has-icons-right .icon { .control.has-icons-right .icon {
transition: all $transition; transition: all $transition;
} }
:deep(.single-task) {
.handle {
opacity: 1;
transition: opacity $transition;
margin-right: .25rem;
cursor: grab;
}
@media(hover: hover) and (pointer: fine) {
& .handle {
opacity: 0;
}
&:hover .handle {
opacity: 1;
}
}
}
</style> </style>