Statuskarten via Drag&Drop verschiebbar
Unteraufgaben lassen sich verschieben und bearbeiten
Dieser Commit ist enthalten in:
@ -609,12 +609,19 @@
|
||||
border-bottom: none;
|
||||
border-radius: var(--radius-xl) var(--radius-xl) 0 0;
|
||||
cursor: grab;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
|
||||
.column-header:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
.column-header.dragging,
|
||||
.column-header[draggable="true"]:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
.column-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -750,6 +757,24 @@
|
||||
transform: rotate(3deg);
|
||||
}
|
||||
|
||||
/* Column Dragging */
|
||||
.column.dragging {
|
||||
opacity: 0.6;
|
||||
transform: scale(0.98);
|
||||
box-shadow: var(--shadow-xl);
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.column.drag-over-left {
|
||||
border-left: 4px solid var(--primary) !important;
|
||||
margin-left: -2px;
|
||||
}
|
||||
|
||||
.column.drag-over-right {
|
||||
border-right: 4px solid var(--primary) !important;
|
||||
margin-right: -2px;
|
||||
}
|
||||
|
||||
.task-card.overdue {
|
||||
border-left: 4px solid var(--error);
|
||||
}
|
||||
|
||||
@ -270,10 +270,44 @@
|
||||
.subtask-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--spacing-3);
|
||||
padding: var(--spacing-3);
|
||||
gap: var(--spacing-2);
|
||||
padding: var(--spacing-2) var(--spacing-3);
|
||||
background: var(--bg-tertiary);
|
||||
border-radius: var(--radius-lg);
|
||||
transition: all var(--transition-fast);
|
||||
border: 2px solid transparent;
|
||||
}
|
||||
|
||||
.subtask-item.dragging {
|
||||
opacity: 0.5;
|
||||
background: var(--bg-secondary);
|
||||
}
|
||||
|
||||
.subtask-item.drag-over-top {
|
||||
border-top-color: var(--primary);
|
||||
}
|
||||
|
||||
.subtask-item.drag-over-bottom {
|
||||
border-bottom-color: var(--primary);
|
||||
}
|
||||
|
||||
/* Drag Handle */
|
||||
.subtask-drag-handle {
|
||||
cursor: grab;
|
||||
color: var(--text-muted);
|
||||
font-size: var(--text-xs);
|
||||
padding: 2px 4px;
|
||||
user-select: none;
|
||||
opacity: 0.5;
|
||||
transition: opacity var(--transition-fast);
|
||||
}
|
||||
|
||||
.subtask-item:hover .subtask-drag-handle {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.subtask-drag-handle:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
.subtask-item input[type="checkbox"] {
|
||||
@ -299,19 +333,33 @@
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
/* Subtask Actions */
|
||||
.subtask-actions {
|
||||
display: flex;
|
||||
gap: var(--spacing-1);
|
||||
opacity: 0;
|
||||
transition: opacity var(--transition-fast);
|
||||
}
|
||||
|
||||
.subtask-item:hover .subtask-actions {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.subtask-edit,
|
||||
.subtask-delete {
|
||||
padding: 4px;
|
||||
padding: 4px 6px;
|
||||
color: var(--text-muted);
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
transition: all var(--transition-fast);
|
||||
border-radius: var(--radius-md);
|
||||
font-size: var(--text-sm);
|
||||
}
|
||||
|
||||
.subtask-item:hover .subtask-delete {
|
||||
opacity: 1;
|
||||
.subtask-edit:hover {
|
||||
color: var(--primary);
|
||||
background: var(--primary-light);
|
||||
}
|
||||
|
||||
.subtask-delete:hover {
|
||||
@ -319,6 +367,17 @@
|
||||
background: var(--error-bg);
|
||||
}
|
||||
|
||||
/* Edit Input */
|
||||
.subtask-edit-input {
|
||||
flex: 1;
|
||||
padding: var(--spacing-1) var(--spacing-2);
|
||||
font-size: var(--text-sm);
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--primary);
|
||||
border-radius: var(--radius-md);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* Add Subtask Form */
|
||||
.add-subtask-form {
|
||||
display: flex;
|
||||
@ -333,6 +392,7 @@
|
||||
flex: 1;
|
||||
font-size: var(--text-sm);
|
||||
color: var(--text-primary);
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
/* Links */
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren