diff --git a/frontend/src/assets/main.css b/frontend/src/assets/main.css
index d16467d..bd373f4 100644
--- a/frontend/src/assets/main.css
+++ b/frontend/src/assets/main.css
@@ -280,3 +280,6 @@ header nav.headermain {
background: var(--accent-color);
color: #000;
}
+.ghost {
+ opacity: 0.5;
+}
diff --git a/frontend/src/components/FileExplorer.vue b/frontend/src/components/FileExplorer.vue
index a9dca10..45b8263 100644
--- a/frontend/src/components/FileExplorer.vue
+++ b/frontend/src/components/FileExplorer.vue
@@ -28,7 +28,7 @@
@@ -249,9 +249,11 @@ const mkdir = (doc: Doc, name: string) => {
}
}
})
- // We should get an update from watch but this is quicker
doc.name = name
doc.key = crypto.randomUUID()
+ doc.ghost = true
+ store.document.push(doc)
+ editing.value = null
}
const showFolderBreadcrumb = (i: number) => {
const docs = props.documents
diff --git a/frontend/src/components/Gallery.vue b/frontend/src/components/Gallery.vue
index a07aefb..0fc5c80 100644
--- a/frontend/src/components/Gallery.vue
+++ b/frontend/src/components/Gallery.vue
@@ -203,9 +203,11 @@ const mkdir = (doc: Doc, name: string) => {
}
}
})
- // We should get an update from watch but this is quicker
doc.name = name
doc.key = crypto.randomUUID()
+ doc.ghost = true
+ store.document.push(doc)
+ editing.value = null
}
const showFolderBreadcrumb = (i: number) => {
const docs = props.documents
diff --git a/frontend/src/components/GalleryFigure.vue b/frontend/src/components/GalleryFigure.vue
index 108efb2..01c33a2 100644
--- a/frontend/src/components/GalleryFigure.vue
+++ b/frontend/src/components/GalleryFigure.vue
@@ -1,6 +1,6 @@
props.path!.join('/'))
-const op = (op: string, dst?: string) => {
+const op = (opName: string, dst?: string) => {
const sel = store.selectedFiles
const msg = {
- op,
+ op: opName,
sel: sel.keys.map(key => {
const doc = sel.docs[key]!
return doc.loc ? `${doc.loc}/${doc.name}` : doc.name
@@ -32,6 +32,8 @@ const op = (op: string, dst?: string) => {
}
// @ts-ignore
if (dst !== undefined) msg.dst = dst
+ if (opName === 'rm' || opName === 'mv')
+ for (const key of sel.keys) sel.docs[key]!.ghost = true
const control = connect(controlUrl, {
message(ev: MessageEvent) {
const res = JSON.parse(ev.data)
diff --git a/frontend/src/components/UploadButton.vue b/frontend/src/components/UploadButton.vue
index d2fc043..25797e0 100644
--- a/frontend/src/components/UploadButton.vue
+++ b/frontend/src/components/UploadButton.vue
@@ -10,6 +10,7 @@