diff --git a/src/components/Controls.vue b/src/components/Controls.vue index 0ab662036..804544e62 100644 --- a/src/components/Controls.vue +++ b/src/components/Controls.vue @@ -203,6 +203,12 @@ {{ t('deck', 'Toggle compact mode') }} + + + {{ showCardCover ? t('deck', 'Hide card cover images') : t('deck', 'Show card cover images') }} + @@ -222,6 +228,7 @@ import { NcActions, NcActionButton, NcAvatar, NcButton, NcPopover } from '@nextc import labelStyle from '../mixins/labelStyle.js' import CardCreateDialog from '../CardCreateDialog.vue' import ArchiveIcon from 'vue-material-design-icons/Archive.vue' +import ImageIcon from 'vue-material-design-icons/ImageMultiple.vue' import FilterIcon from 'vue-material-design-icons/Filter.vue' import FilterOffIcon from 'vue-material-design-icons/FilterOff.vue' import ArrowCollapseVerticalIcon from 'vue-material-design-icons/ArrowCollapseVertical.vue' @@ -239,6 +246,7 @@ export default { NcAvatar, CardCreateDialog, ArchiveIcon, + ImageIcon, FilterIcon, FilterOffIcon, ArrowCollapseVerticalIcon, @@ -279,6 +287,7 @@ export default { ]), ...mapState({ compactMode: state => state.compactMode, + showCardCover: state => state.showCardCover, searchQuery: state => state.searchQuery, }), detailsRoute() { @@ -337,6 +346,9 @@ export default { this.$store.dispatch('toggleShowArchived') this.showArchived = !this.showArchived }, + toggleShowCardCover() { + this.$store.dispatch('toggleShowCardCover') + }, addNewStack() { this.stack = { title: this.newStackTitle } this.$store.dispatch('createStack', this.stack) diff --git a/src/components/cards/CardCover.vue b/src/components/cards/CardCover.vue new file mode 100644 index 000000000..71e6feaac --- /dev/null +++ b/src/components/cards/CardCover.vue @@ -0,0 +1,103 @@ + + + + + + diff --git a/src/components/cards/CardItem.vue b/src/components/cards/CardItem.vue index 57d85947e..877408391 100644 --- a/src/components/cards/CardItem.vue +++ b/src/components/cards/CardItem.vue @@ -34,6 +34,7 @@
{{ board.title }} ยป {{ stack.title }}
+

{{ card.title }} @@ -90,11 +91,12 @@ import Color from '../../mixins/color.js' import labelStyle from '../../mixins/labelStyle.js' import AttachmentDragAndDrop from '../AttachmentDragAndDrop.vue' import CardMenu from './CardMenu.vue' +import CardCover from './CardCover.vue' import DueDate from './badges/DueDate.vue' export default { name: 'CardItem', - components: { CardBadges, AttachmentDragAndDrop, CardMenu, DueDate }, + components: { CardBadges, AttachmentDragAndDrop, CardMenu, DueDate, CardCover }, directives: { ClickOutside, }, @@ -127,6 +129,7 @@ export default { ...mapState({ compactMode: state => state.compactMode, showArchived: state => state.showArchived, + showCardCover: state => state.showCardCover, currentBoard: state => state.currentBoard, }), ...mapGetters([ diff --git a/src/store/main.js b/src/store/main.js index 31b52c84c..3df2e70fa 100644 --- a/src/store/main.js +++ b/src/store/main.js @@ -62,6 +62,7 @@ export default new Vuex.Store({ showArchived: false, navShown: localStorage.getItem('deck.navShown') === null || localStorage.getItem('deck.navShown') === 'true', compactMode: localStorage.getItem('deck.compactMode') === 'true', + showCardCover: localStorage.getItem('deck.showCardCover') === 'true', sidebarShown: false, currentBoard: null, currentCard: null, @@ -229,6 +230,10 @@ export default new Vuex.Store({ state.compactMode = !state.compactMode localStorage.setItem('deck.compactMode', state.compactMode) }, + toggleShowCardCover(state) { + state.showCardCover = !state.showCardCover + localStorage.setItem('deck.showCardCover', state.showCardCover) + }, setBoards(state, boards) { state.boards = boards }, @@ -439,6 +444,9 @@ export default new Vuex.Store({ toggleCompactMode({ commit }) { commit('toggleCompactMode') }, + toggleShowCardCover({ commit }) { + commit('toggleShowCardCover') + }, setCurrentBoard({ commit }, board) { commit('setCurrentBoard', board) },