fix: Adjust UI to be more consistent with new Nextcloud compact UI
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
@@ -47,8 +47,11 @@
|
|||||||
id="stack-add"
|
id="stack-add"
|
||||||
v-click-outside="hideAddStack">
|
v-click-outside="hideAddStack">
|
||||||
<NcActions v-if="!isAddStackVisible">
|
<NcActions v-if="!isAddStackVisible">
|
||||||
<NcActionButton icon="icon-add" @click.stop="showAddStack">
|
<NcActionButton @click.stop="showAddStack">
|
||||||
{{ t('deck', 'Add list') }}
|
{{ t('deck', 'Add list') }}
|
||||||
|
<template #icon>
|
||||||
|
<TableColumnPlusAfter :size="20" />
|
||||||
|
</template>
|
||||||
</NcActionButton>
|
</NcActionButton>
|
||||||
</NcActions>
|
</NcActions>
|
||||||
<form v-else @submit.prevent="addNewStack()">
|
<form v-else @submit.prevent="addNewStack()">
|
||||||
@@ -264,6 +267,7 @@ import ArchiveIcon from 'vue-material-design-icons/Archive.vue'
|
|||||||
import ImageIcon from 'vue-material-design-icons/ImageMultiple.vue'
|
import ImageIcon from 'vue-material-design-icons/ImageMultiple.vue'
|
||||||
import FilterIcon from 'vue-material-design-icons/Filter.vue'
|
import FilterIcon from 'vue-material-design-icons/Filter.vue'
|
||||||
import FilterOffIcon from 'vue-material-design-icons/FilterOff.vue'
|
import FilterOffIcon from 'vue-material-design-icons/FilterOff.vue'
|
||||||
|
import TableColumnPlusAfter from 'vue-material-design-icons/TableColumnPlusAfter.vue'
|
||||||
import ArrowCollapseVerticalIcon from 'vue-material-design-icons/ArrowCollapseVertical.vue'
|
import ArrowCollapseVerticalIcon from 'vue-material-design-icons/ArrowCollapseVertical.vue'
|
||||||
import ArrowExpandVerticalIcon from 'vue-material-design-icons/ArrowExpandVertical.vue'
|
import ArrowExpandVerticalIcon from 'vue-material-design-icons/ArrowExpandVertical.vue'
|
||||||
import SessionList from './SessionList.vue'
|
import SessionList from './SessionList.vue'
|
||||||
@@ -287,6 +291,7 @@ export default {
|
|||||||
FilterOffIcon,
|
FilterOffIcon,
|
||||||
ArrowCollapseVerticalIcon,
|
ArrowCollapseVerticalIcon,
|
||||||
ArrowExpandVerticalIcon,
|
ArrowExpandVerticalIcon,
|
||||||
|
TableColumnPlusAfter,
|
||||||
SessionList,
|
SessionList,
|
||||||
},
|
},
|
||||||
mixins: [labelStyle],
|
mixins: [labelStyle],
|
||||||
@@ -476,7 +481,7 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.controls {
|
.controls {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 5px;
|
margin: calc(var(--default-grid-baseline) * 2);
|
||||||
height: var(--default-clickable-area);
|
height: var(--default-clickable-area);
|
||||||
padding-left: var(--default-clickable-area);
|
padding-left: var(--default-clickable-area);
|
||||||
|
|
||||||
@@ -487,17 +492,17 @@ export default {
|
|||||||
h2 {
|
h2 {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.board-bullet {
|
.board-bullet {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 20px;
|
width: 16px;
|
||||||
height: 20px;
|
height: 16px;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
margin: 12px;
|
margin: var(--default-grid-baseline);
|
||||||
margin-left: -4px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,8 +57,11 @@
|
|||||||
</NcActionButton>
|
</NcActionButton>
|
||||||
</NcActions>
|
</NcActions>
|
||||||
<NcActions v-if="canEdit && !showArchived && !isArchived">
|
<NcActions v-if="canEdit && !showArchived && !isArchived">
|
||||||
<NcActionButton icon="icon-add" data-cy="action:add-card" @click.stop="showAddCard=true">
|
<NcActionButton data-cy="action:add-card" @click.stop="showAddCard=true">
|
||||||
{{ t('deck', 'Add card') }}
|
{{ t('deck', 'Add card') }}
|
||||||
|
<template #icon>
|
||||||
|
<CardPlusOutline :size="20" />
|
||||||
|
</template>
|
||||||
</NcActionButton>
|
</NcActionButton>
|
||||||
</NcActions>
|
</NcActions>
|
||||||
</div>
|
</div>
|
||||||
@@ -136,6 +139,7 @@ import ClickOutside from 'vue-click-outside'
|
|||||||
import { mapGetters, mapState } from 'vuex'
|
import { mapGetters, mapState } from 'vuex'
|
||||||
import { Container, Draggable } from 'vue-smooth-dnd'
|
import { Container, Draggable } from 'vue-smooth-dnd'
|
||||||
import ArchiveIcon from 'vue-material-design-icons/Archive.vue'
|
import ArchiveIcon from 'vue-material-design-icons/Archive.vue'
|
||||||
|
import CardPlusOutline from 'vue-material-design-icons/CardPlusOutline.vue'
|
||||||
import { NcActions, NcActionButton, NcModal } from '@nextcloud/vue'
|
import { NcActions, NcActionButton, NcModal } from '@nextcloud/vue'
|
||||||
import { showError, showUndo } from '@nextcloud/dialogs'
|
import { showError, showUndo } from '@nextcloud/dialogs'
|
||||||
|
|
||||||
@@ -153,6 +157,7 @@ export default {
|
|||||||
Draggable,
|
Draggable,
|
||||||
NcModal,
|
NcModal,
|
||||||
ArchiveIcon,
|
ArchiveIcon,
|
||||||
|
CardPlusOutline,
|
||||||
},
|
},
|
||||||
directives: {
|
directives: {
|
||||||
ClickOutside,
|
ClickOutside,
|
||||||
@@ -332,8 +337,9 @@ export default {
|
|||||||
z-index: 100;
|
z-index: 100;
|
||||||
padding-left: $card-spacing;
|
padding-left: $card-spacing;
|
||||||
padding-right: $card-spacing;
|
padding-right: $card-spacing;
|
||||||
|
margin: 6px;
|
||||||
cursor: grab;
|
cursor: grab;
|
||||||
min-height: var(--default-clickable-area);
|
background-color: var(--color-main-background);
|
||||||
|
|
||||||
// Smooth fade out of the cards at the top
|
// Smooth fade out of the cards at the top
|
||||||
&:before {
|
&:before {
|
||||||
@@ -354,7 +360,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&--add:before {
|
&--add:before {
|
||||||
height: 80px;
|
height: 78px;
|
||||||
background-image: linear-gradient(180deg, var(--color-main-background) 68px, rgba(255, 255, 255, 0) 100%);
|
background-image: linear-gradient(180deg, var(--color-main-background) 68px, rgba(255, 255, 255, 0) 100%);
|
||||||
body.theme--dark & {
|
body.theme--dark & {
|
||||||
background-image: linear-gradient(180deg, var(--color-main-background) 68px, rgba(0, 0, 0, 0) 100%);
|
background-image: linear-gradient(180deg, var(--color-main-background) 68px, rgba(0, 0, 0, 0) 100%);
|
||||||
@@ -383,9 +389,8 @@ export default {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
max-width: calc($stack-width - 60px);
|
max-width: calc($stack-width - 60px);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
margin: 6px;
|
|
||||||
padding: 4px 4px;
|
padding: 4px 4px;
|
||||||
font-size: 120%;
|
font-size: var(--default-font-size);
|
||||||
|
|
||||||
&:focus-visible {
|
&:focus-visible {
|
||||||
outline: 2px solid var(--color-border-dark);
|
outline: 2px solid var(--color-border-dark);
|
||||||
@@ -394,7 +399,15 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
form {
|
form {
|
||||||
margin: 2px 0;
|
margin: -4px;
|
||||||
|
input {
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 0 6px;
|
||||||
|
}
|
||||||
|
input[type="submit"] {
|
||||||
|
border-style: solid;
|
||||||
|
border-left-style: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep {
|
:deep {
|
||||||
@@ -406,20 +419,18 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.stack__card-add {
|
.stack__card-add {
|
||||||
height: var(--default-clickable-area);
|
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
margin-bottom: 8px;
|
|
||||||
background-color: var(--color-main-background);
|
background-color: var(--color-main-background);
|
||||||
|
|
||||||
form {
|
form {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-left: 12px;
|
margin-left: $stack-spacing;
|
||||||
margin-right: 12px;
|
margin-right: $card-spacing + $stack-spacing + 4px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: 2px solid var(--color-border);
|
border: 2px solid var(--color-border-maxcontrast);
|
||||||
border-radius: var(--border-radius-large);
|
border-radius: var(--border-radius-large);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
@@ -436,6 +447,8 @@ export default {
|
|||||||
|
|
||||||
input {
|
input {
|
||||||
border: none;
|
border: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -247,7 +247,6 @@ export default defineComponent({
|
|||||||
.done-info--duedate,
|
.done-info--duedate,
|
||||||
.done-info--done {
|
.done-info--done {
|
||||||
display: flex;
|
display: flex;
|
||||||
padding-top: 10px;
|
|
||||||
&.dimmed {
|
&.dimmed {
|
||||||
color: var(--color-text-maxcontrast);
|
color: var(--color-text-maxcontrast);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -168,13 +168,13 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.badge-left {
|
.badge-left {
|
||||||
align-self: end;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
flex-basis: auto;
|
flex-basis: auto;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
flex-shrink: 1;
|
flex-shrink: 1;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
align-content: flex-end;
|
align-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
align-self: center;
|
||||||
gap: 3px;
|
gap: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,6 +196,10 @@ export default {
|
|||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.avatars:deep(button) {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
@media print {
|
@media print {
|
||||||
.badges {
|
.badges {
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
|
|||||||
@@ -19,10 +19,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<CardCover v-if="showCardCover" :card-id="card.id" />
|
<CardCover v-if="showCardCover" :card-id="card.id" />
|
||||||
<div class="card-upper">
|
<div class="card-upper">
|
||||||
<h3 v-if="inlineEditingBlocked" dir="auto">
|
<h4 v-if="inlineEditingBlocked" dir="auto">
|
||||||
{{ card.title }}
|
{{ card.title }}
|
||||||
</h3>
|
</h4>
|
||||||
<h3 v-else
|
<h4 v-else
|
||||||
dir="auto"
|
dir="auto"
|
||||||
class="editable"
|
class="editable"
|
||||||
:aria-label="t('deck', 'Edit card title')">
|
:aria-label="t('deck', 'Edit card title')">
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
@click.stop
|
@click.stop
|
||||||
@keyup.esc="cancelEdit"
|
@keyup.esc="cancelEdit"
|
||||||
@keyup.stop>{{ card.title }}</span>
|
@keyup.stop>{{ card.title }}</span>
|
||||||
</h3>
|
</h4>
|
||||||
|
|
||||||
<DueDate v-if="compactMode" :card="card" />
|
<DueDate v-if="compactMode" :card="card" />
|
||||||
<CardMenu v-if="showMenuAtTitle" :card="card" class="right card-menu" />
|
<CardMenu v-if="showMenuAtTitle" :card="card" class="right card-menu" />
|
||||||
@@ -294,7 +294,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 6px;
|
gap: var(--default-grid-baseline);
|
||||||
|
|
||||||
&:deep(*) {
|
&:deep(*) {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -314,7 +314,8 @@ export default {
|
|||||||
|
|
||||||
.card-upper {
|
.card-upper {
|
||||||
display: flex;
|
display: flex;
|
||||||
h3 {
|
h4 {
|
||||||
|
font-weight: normal;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
|
|||||||
@@ -9,9 +9,13 @@
|
|||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
|
||||||
&--icon {
|
&--icon {
|
||||||
width: 38px;
|
width: var(--default-clickable-area);
|
||||||
padding-top: 12px;
|
height: var(--default-clickable-area);
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
align-content: center;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
&--selector {
|
&--selector {
|
||||||
@@ -21,5 +25,6 @@
|
|||||||
&--content {
|
&--content {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
$card-spacing: 16px;
|
$card-spacing: 8px;
|
||||||
$card-padding: 8px;
|
$card-padding: 4px;
|
||||||
$stack-spacing: 12px;
|
$stack-spacing: 12px;
|
||||||
$stack-width: 280px;
|
$stack-width: 280px;
|
||||||
$board-spacing: 16px;
|
$board-spacing: 16px;
|
||||||
|
|||||||
Reference in New Issue
Block a user