diff --git a/css/deck.css b/css/deck.css index ce15eb1f5..d1d92ea97 100644 --- a/css/deck.css +++ b/css/deck.css @@ -14,6 +14,7 @@ input[type=submit].icon-confirm { border-color: var(--color-border-maxcontrast) !important; + border-style: solid; border-left: none; } diff --git a/src/components/board/Board.vue b/src/components/board/Board.vue index 3f25d99dd..81f097e2d 100644 --- a/src/components/board/Board.vue +++ b/src/components/board/Board.vue @@ -276,18 +276,15 @@ export default { position: relative; width: 100%; height: 100%; - max-height: calc(100vh - 50px); display: flex; flex-direction: column; } .board { - padding-left: $board-spacing; position: relative; - max-height: calc(100% - var(--default-clickable-area)); - overflow: hidden; overflow-x: auto; flex-grow: 1; + scrollbar-gutter: stable; } /** @@ -297,11 +294,15 @@ export default { .smooth-dnd-container.horizontal { display: flex; align-items: stretch; + gap: $board-gap; + padding: 0 $board-gap; height: 100%; &:deep(.stack-draggable-wrapper.smooth-dnd-draggable-wrapper) { display: flex; height: auto; + flex: 0 1 $card-max-width; + min-width: $card-min-width; .stack { display: flex; @@ -309,16 +310,13 @@ export default { position: relative; .smooth-dnd-container.vertical { - flex-grow: 1; + $margin-x: calc($stack-gap * -1); display: flex; flex-direction: column; - // Margin left instead of padidng to avoid jumps on dropping a card - margin-left: $stack-spacing; - padding-right: $stack-spacing; - overflow-x: hidden; + gap: $stack-gap; + padding: $stack-gap; + margin: 0 $margin-x; overflow-y: auto; - padding-top: 15px; - margin-top: -10px; scrollbar-gutter: stable; } diff --git a/src/components/board/Stack.vue b/src/components/board/Stack.vue index 274ede74f..3d0753a08 100644 --- a/src/components/board/Stack.vue +++ b/src/components/board/Stack.vue @@ -14,10 +14,10 @@ {{ stack.title }}

@@ -108,7 +108,7 @@ -
+
@@ -365,37 +365,31 @@ export default { @import './../../css/variables'; .stack { - width: $stack-width + $stack-spacing * 3; + width: 100%; } .stack__header { display: flex; position: sticky; top: 0; + height: var(--default-clickable-area); z-index: 100; - padding-left: $card-spacing; - padding-right: $card-spacing; - margin: 6px; margin-top: 0; cursor: grab; background-color: var(--color-main-background); // Smooth fade out of the cards at the top &:before { - content: ' '; + content: ''; display: block; position: absolute; - width: calc(100% - 16px); - height: 20px; - top: 30px; - left: 0px; + width: 100%; + height: $stack-gap; + bottom: 0; z-index: 99; transition: top var(--animation-slow); - - background-image: linear-gradient(180deg, var(--color-main-background) 3px, rgba(255, 255, 255, 0) 100%); - body.theme--dark & { - background-image: linear-gradient(180deg, var(--color-main-background) 3px, rgba(0, 0, 0, 0) 100%); - } + background-image: linear-gradient(180deg, var(--color-main-background) 0%, transparent 100%); + transform: translateY(100%); } & > * { @@ -404,8 +398,10 @@ export default { } h3, form { - flex-grow: 1; + flex: 1 1 auto; + min-width: 0; display: flex; + align-items: center; cursor: inherit; margin: 0; @@ -418,9 +414,8 @@ export default { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; - max-width: calc($stack-width - 60px); border-radius: 3px; - padding: 4px 4px; + padding: $card-padding; font-size: var(--default-font-size); &:focus-visible { @@ -430,7 +425,6 @@ export default { } form { - margin: -4px; input { font-weight: bold; padding: 0 6px; @@ -453,14 +447,25 @@ export default { flex-shrink: 0; z-index: 100; display: flex; - margin-bottom: 5px; - padding-top: var(--default-grid-baseline); + padding-bottom: $stack-gap; background-color: var(--color-main-background); + position: relative; + + // Smooth fade out of the cards at the top + &:before { + content: ''; + display: block; + position: absolute; + width: 100%; + height: $stack-gap; + z-index: 99; + transition: bottom var(--animation-slow); + background-image: linear-gradient(0deg, var(--color-main-background) 0%, transparent 100%); + transform: translateY(-100%); + } form { display: flex; - margin-left: $stack-spacing; - margin-right: $stack-spacing; width: 100%; border: 2px solid var(--color-border-maxcontrast); border-radius: var(--border-radius-large); @@ -481,7 +486,6 @@ export default { input { border: none; margin: 0; - padding: 4px; } } diff --git a/src/components/cards/CardBadges.vue b/src/components/cards/CardBadges.vue index 96f8c2c7c..4e989c6e5 100644 --- a/src/components/cards/CardBadges.vue +++ b/src/components/cards/CardBadges.vue @@ -101,6 +101,8 @@ export default { diff --git a/src/components/cards/CardItem.vue b/src/components/cards/CardItem.vue index e0ae8d141..64f3a3505 100644 --- a/src/components/cards/CardItem.vue +++ b/src/components/cards/CardItem.vue @@ -6,7 +6,7 @@