diff --git a/client/package.json b/client/package.json
index fe48e211..b138b7ed 100644
--- a/client/package.json
+++ b/client/package.json
@@ -22,7 +22,7 @@
"dependencies": {
"@fortawesome/fontawesome-free": "^6.2.0",
"animejs": "^3.2.0",
- "axios": "^0.21.4",
+ "axios": "^0.24.0",
"date-fns": "^2.29.3",
"emoji-datasource": "^6.0.1",
"eventemitter3": "^4.0.7",
diff --git a/client/src/components/files.vue b/client/src/components/files.vue
new file mode 100644
index 00000000..bce8512f
--- /dev/null
+++ b/client/src/components/files.vue
@@ -0,0 +1,520 @@
+
+
+
+
+
+
+
{{ item.name }}
+
{{ fileSize(item.size) }}
+
+
+
+
+
+
+
+
+
+
{{ download.name }}
+
{{ Math.min(100, Math.round((download.progress / download.size) * 100)) }}%
+
+
+
{{ download.error }}
+
+
+
+
+
+
+
{{ upload.name }}
+
{{ Math.min(100, Math.round((upload.progress / upload.size) * 100)) }}%
+
+
+
{{ upload.error }}
+
+
+
+
upload(e.dataTransfer)"
+ @click="openFileBrowser"
+ >
+
+
{{ $t('files.upload_here') }}
+
+
+
+
+
+
+
+
diff --git a/client/src/components/header.vue b/client/src/components/header.vue
index 7db5e10c..2f6506fb 100644
--- a/client/src/components/header.vue
+++ b/client/src/components/header.vue
@@ -31,6 +31,19 @@
}"
/>
+
+
+
•
@@ -169,26 +182,24 @@
return !this.side && this.readTexts != this.texts
}
+ get fileTransfer() {
+ return this.$accessor.remote.fileTransfer
+ }
+
+ toggleLock(resource: AdminLockResource) {
+ this.$accessor.toggleLock(resource)
+ }
+
+ isLocked(resource: AdminLockResource): boolean {
+ return this.$accessor.isLocked(resource)
+ }
+
readTexts: number = 0
toggleMenu() {
this.$accessor.client.toggleSide()
this.readTexts = this.texts
}
- toggleLock(resource: AdminLockResource) {
- if (!this.admin) return
-
- if (this.isLocked(resource)) {
- this.$accessor.unlock(resource)
- } else {
- this.$accessor.lock(resource)
- }
- }
-
- isLocked(resource: AdminLockResource): boolean {
- return resource in this.locked && this.locked[resource]
- }
-
lockedTooltip(resource: AdminLockResource) {
if (this.admin) {
return this.$t(`locks.${resource}.` + (this.isLocked(resource) ? `unlock` : `lock`))
diff --git a/client/src/components/side.vue b/client/src/components/side.vue
index db1ff814..51d49703 100644
--- a/client/src/components/side.vue
+++ b/client/src/components/side.vue
@@ -6,6 +6,10 @@
{{ $t('side.chat') }}
+
+
+ {{ $t('side.files') }}
+
{{ $t('side.settings') }}
@@ -14,6 +18,7 @@
+
@@ -74,23 +79,47 @@