diff --git a/package-lock.json b/package-lock.json
index 04c209c12..c8a339343 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5601,6 +5601,12 @@
}
}
},
+ "@nextcloud/webpack-vue-config": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/webpack-vue-config/-/webpack-vue-config-1.1.0.tgz",
+ "integrity": "sha512-3eDbH05tlkfM12syuM36QS+xU1r80iX21PZ5tN+/O9Ekto2psmt+vf7Vgs5JX20M97Uy89POQ09A8tQUj83Yuw==",
+ "dev": true
+ },
"@nodelib/fs.scandir": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
@@ -8126,6 +8132,25 @@
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
"dev": true
},
+ "clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ }
+ }
+ },
"clone-regexp": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
@@ -19510,6 +19535,23 @@
"safe-buffer": "^5.0.1"
}
},
+ "shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "dev": true,
+ "requires": {
+ "kind-of": "^6.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ }
+ }
+ },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -22829,12 +22871,13 @@
}
},
"webpack-merge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz",
- "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==",
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.0.9.tgz",
+ "integrity": "sha512-P4teh6O26xIDPugOGX61wPxaeP918QOMjmzhu54zTVcLtOS28ffPWtnv+ilt3wscwBUCL2WNMnh97XkrKqt9Fw==",
"dev": true,
"requires": {
- "lodash": "^4.17.15"
+ "clone-deep": "^4.0.1",
+ "wildcard": "^2.0.0"
}
},
"webpack-sources": {
@@ -22928,6 +22971,12 @@
"string-width": "^1.0.2 || 2"
}
},
+ "wildcard": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
+ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
+ "dev": true
+ },
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
diff --git a/package.json b/package.json
index 29a7f73eb..653d224f5 100644
--- a/package.json
+++ b/package.json
@@ -17,13 +17,13 @@
"license": "agpl",
"private": true,
"scripts": {
- "dev": "NODE_ENV=development webpack --config webpack.dev.js",
- "watch": "NODE_ENV=development webpack --progress --watch --config webpack.dev.js",
- "build": "NODE_ENV=production webpack --progress --hide-modules --config webpack.prod.js",
+ "build": "NODE_ENV=production webpack --progress --hide-modules --config webpack.js",
+ "dev": "NODE_ENV=development webpack --progress --config webpack.js",
+ "watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix",
- "stylelint": "stylelint **/*.css **/*.scss **/*.vue",
- "stylelint:fix": "stylelint **/*.css **/*.scss **/*.vue --fix",
+ "stylelint": "stylelint src",
+ "stylelint:fix": "stylelint src --fix",
"test": "jest",
"test:coverage": "jest --coverage"
},
@@ -72,6 +72,7 @@
"@nextcloud/browserslist-config": "^1.0.0",
"@nextcloud/eslint-config": "^2.1.0",
"@nextcloud/eslint-plugin": "^1.4.0",
+ "@nextcloud/webpack-vue-config": "^1.1.0",
"@vue/test-utils": "^1.0.3",
"acorn": "^7.3.1",
"babel-eslint": "^10.1.0",
@@ -107,7 +108,7 @@
"webpack": "^4.44.0",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0",
- "webpack-merge": "^4.2.2"
+ "webpack-merge": "^5.0.9"
},
"jest": {
"moduleFileExtensions": [
diff --git a/src/components/ActivityEntry.vue b/src/components/ActivityEntry.vue
index 2d65d1ece..782503503 100644
--- a/src/components/ActivityEntry.vue
+++ b/src/components/ActivityEntry.vue
@@ -154,6 +154,7 @@ export default {
.visualdiff ins {
color: green;
}
+
.visualdiff del {
color: darkred;
}
diff --git a/src/components/Controls.vue b/src/components/Controls.vue
index fd847f1fb..f5db0d01b 100644
--- a/src/components/Controls.vue
+++ b/src/components/Controls.vue
@@ -291,6 +291,8 @@ export default {
diff --git a/src/components/board/Board.vue b/src/components/board/Board.vue
index fa9e5ec90..ca2896193 100644
--- a/src/components/board/Board.vue
+++ b/src/components/board/Board.vue
@@ -131,7 +131,7 @@ export default {
diff --git a/src/components/board/SharingTabSidebar.vue b/src/components/board/SharingTabSidebar.vue
index e2b4b667d..2948b6e51 100644
--- a/src/components/board/SharingTabSidebar.vue
+++ b/src/components/board/SharingTabSidebar.vue
@@ -178,20 +178,25 @@ export default {
#shareWithList {
margin-bottom: 20px;
}
+
#shareWithList li {
display: flex;
align-items: center;
}
+
.username {
padding: 12px 9px;
flex-grow: 1;
}
+
.board-owner-label {
opacity: .7;
}
+
.avatarLabel {
padding: 6px
}
+
.avatardiv {
background-color: #f5f5f5;
border-radius: 16px;
diff --git a/src/components/board/Stack.vue b/src/components/board/Stack.vue
index 9588918e4..8d46cd120 100644
--- a/src/components/board/Stack.vue
+++ b/src/components/board/Stack.vue
@@ -295,6 +295,7 @@ export default {
border: none;
}
}
+
.stack .smooth-dnd-container.vertical {
margin-top: 3px;
}
@@ -307,6 +308,7 @@ export default {
.slide-top-leave-active {
transition: all 100ms ease;
}
+
.slide-top-enter, .slide-top-leave-to {
transform: translateY(-10px);
opacity: 0;
diff --git a/src/components/card/CardSidebar.vue b/src/components/card/CardSidebar.vue
index de659ea75..1e9e3e574 100644
--- a/src/components/card/CardSidebar.vue
+++ b/src/components/card/CardSidebar.vue
@@ -501,12 +501,14 @@ export default {
diff --git a/src/components/card/CommentForm.vue b/src/components/card/CommentForm.vue
index 4601e7dff..69714b66b 100644
--- a/src/components/card/CommentForm.vue
+++ b/src/components/card/CommentForm.vue
@@ -173,7 +173,7 @@ export default {