diff --git a/frontend/src/components/files/SharedItem.vue b/frontend/src/components/files/SharedItem.vue
new file mode 100644
index 00000000..2ea89292
--- /dev/null
+++ b/frontend/src/components/files/SharedItem.vue
@@ -0,0 +1,112 @@
+
+
+
+ {{ icon }}
+
+
+
+
{{ name }}
+
+
—
+
{{ humanSize() }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/frontend/src/css/_share.css b/frontend/src/css/_share.css
index a9c4e624..ede56aef 100644
--- a/frontend/src/css/_share.css
+++ b/frontend/src/css/_share.css
@@ -63,5 +63,9 @@
}
.share__box__items #listing.list .item .name {
- width: auto;
+ width: 50%;
+}
+
+.share__box__items #listing.list .item .modified {
+ width: 25%;
}
\ No newline at end of file
diff --git a/frontend/src/store/getters.js b/frontend/src/store/getters.js
index 11ad60ab..61ff7ab3 100644
--- a/frontend/src/store/getters.js
+++ b/frontend/src/store/getters.js
@@ -12,7 +12,8 @@ const getters = {
let sum = state.upload.progress.reduce((acc, val) => acc + val)
return Math.ceil(sum / state.upload.size * 100);
- }
+ },
+ sharedSelectedCount: state => state.shared.selected.length
}
export default getters
diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js
index 40b56df4..e454c511 100644
--- a/frontend/src/store/index.js
+++ b/frontend/src/store/index.js
@@ -24,7 +24,11 @@ const state = {
showShell: false,
showMessage: null,
showConfirm: null,
- previewMode: false
+ previewMode: false,
+ shared: {
+ selected: [],
+ multiple: false
+ }
}
export default new Vuex.Store({
diff --git a/frontend/src/store/mutations.js b/frontend/src/store/mutations.js
index 46aad6e6..302e2bf0 100644
--- a/frontend/src/store/mutations.js
+++ b/frontend/src/store/mutations.js
@@ -86,7 +86,17 @@ const mutations = {
},
setPreviewMode(state, value) {
state.previewMode = value
- }
+ },
+ addSharedSelected: (state, value) => (state.shared.selected.push(value)),
+ removeSharedSelected: (state, value) => {
+ let i = state.shared.selected.indexOf(value)
+ if (i === -1) return
+ state.shared.selected.splice(i, 1)
+ },
+ resetSharedSelected: (state) => {
+ state.shared.selected = []
+ },
+ sharedMultiple: (state, value) => (state.shared.multiple = value)
}
export default mutations
diff --git a/frontend/src/views/Share.vue b/frontend/src/views/Share.vue
index 06ac7fe8..912ff117 100644
--- a/frontend/src/views/Share.vue
+++ b/frontend/src/views/Share.vue
@@ -13,10 +13,10 @@
-
-
- {{ item.isDir ? 'folder' : (item.type==='image') ? 'insert_photo' : 'insert_drive_file' }}
-
-
-
+
+
+ {{ file.items.length - showLimit }}
@@ -70,26 +67,25 @@