<pre style='margin:0'>
Zhenfu Shi (i0ntempest) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/18284189f1eb3bdebbda7a67964f705e472fac6a">https://github.com/macports/macports-ports/commit/18284189f1eb3bdebbda7a67964f705e472fac6a</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 18284189f1e filebrowser: 2.32.0
</span>18284189f1e is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 18284189f1eb3bdebbda7a67964f705e472fac6a
</span>Author: i0ntempest <i0ntempest@i0ntempest.com>
AuthorDate: Sun Feb 2 03:40:56 2025 +0800
<span style='display:block; white-space:pre;color:#404040;'> filebrowser: 2.32.0
</span>---
net/filebrowser/Portfile | 77 ++++----
...h-d1c84a84123c77dede05c023b3697a432b56122c.diff | 199 ---------------------
2 files changed, 39 insertions(+), 237 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/filebrowser/Portfile b/net/filebrowser/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bdb9e44b2f6..79eaf86dca9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/filebrowser/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/filebrowser/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,10 +3,11 @@
</span> PortSystem 1.0
PortGroup golang 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-go.setup github.com/filebrowser/filebrowser 2.31.2 v
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set git-commit 129a4fd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+go.setup github.com/filebrowser/filebrowser 2.32.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from tarball
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set git-commit 3d6c515
</span> # This line is for displaying commit in CLI only
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span> categories net sysutils
maintainers {i0ntempest @i0ntempest} openmaintainer
license Apache-2
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,15 +21,9 @@ long_description filebrowser provides a file managing interface within a spec
</span> homepage https://filebrowser.org
checksums ${distname}${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 109a4f1954afa2b454eb6e190c68b759dfc33944 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 affa66dfd9de8af359a6f242410d1327ca8acf498dead6b3066f6a766b97679a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 3828081
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Command runner fixes: https://github.com/filebrowser/filebrowser/pull/3676
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Pop up prompt fixes: https://github.com/filebrowser/filebrowser/commit/d1c84a84123c77dede05c023b3697a432b56122c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-3676.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-d1c84a84123c77dede05c023b3697a432b56122c.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patch.args -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 8dfd7b54cd51e79b5db87fb6a4a7b9f208309b5b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 7bc0aa6f44994f1582cdb06f8dd6da3802af5881a2e3120bf780ed030e2cb37d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 3817808
</span>
go.vendors gopkg.in/yaml.v3 \
lock v3.0.1 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,25 +63,25 @@ go.vendors gopkg.in/yaml.v3 \
</span> sha256 add6a354e7031705b39bdb1795ca064107038011f060460a23001dd339b41aac \
size 628767 \
golang.org/x/text \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lock v0.17.0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 d78334f0fbc6685d09d300728e8d76dec95f4a0d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 1485e4341b809faa9541d59999dbfa9016570395a2fcdd252c448e42a8196b81 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 8972469 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.21.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 0a0d95c777a2df3108c79f5a23de3c226ad84d06 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 de16b0463799b320acfa2707e154091015d4b25dbaae866a8fc9bf2f72d67b5c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 8976785 \
</span> golang.org/x/sys \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lock v0.23.0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 2f2f0d9166b97a7934502b27fa5fd1731ea13a47 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 1a7d353f259d1f34c27bafc2c7280627a3227a95387aa2dc636b17a321a49186 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 1501815 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.28.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 6afc12ada3ca9173b9f8ba2c66caf3dbf0ac7929 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 aa8ba4cd13aa5d7f839d604e002d2c994e6dfc09c3746f532bf69fc64617869c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1520294 \
</span> golang.org/x/sync \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lock v0.8.0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 753a4804058e3be785a5d00aea60bc6950baa709 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 9f9f999d50ea1bbba9f7d9a629d594da7e221eeb4d54216ef480d1a8546fa817 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 18185 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.10.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 3cdb4e0e41894bd4f102154d7e193423451c64c6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 0318693e1204134ef8d4110f1fd961fd0273ff4d59874c542d8b4739236bebfe \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 18107 \
</span> golang.org/x/net \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lock v0.23.0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 314021a9d4fc510f2acfbfa131810944101c66bf \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 7c2b7d3c9062bc8cd529f8f1b2aa16d5a8616a90cb3cbdbf326bd5c6f0fb51f1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 1509183 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.33.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 c1974416a5379a87b032076f82d4353929b7cf30 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 c9edb767d02ea972c474508028e90d8c2b19a075f89697dbe787860f8dba3aa2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1466556 \
</span> golang.org/x/image \
lock v0.19.0 \
rmd160 e8d527797fe92eee70673ece17aa9a11c371108f \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -98,10 +93,10 @@ go.vendors gopkg.in/yaml.v3 \
</span> sha256 54961fbc9af33753e5866ef4bbe39b9c9b6328e6816467f0c0a8979aa12714cd \
size 1743889 \
golang.org/x/crypto \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lock v0.26.0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 437ca84bbed506eac15af824b0162f9bdd0008da \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 dd29f4e0dbf8eaffc8e8d97c7a94b81f59d86f8ff0e3b6e042b44a38f78845a7 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 1799499 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.31.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 ccd79163c4c288444622b7e39560353ba8caef9a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 8c60e95193c8a72264fef36dc5f6a23e69c9a5948680829fcfbe9d28030f9dca \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1837747 \
</span> go.uber.org/multierr \
repo github.com/uber-go/multierr \
lock v1.11.0 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -315,10 +310,10 @@ go.vendors gopkg.in/yaml.v3 \
</span> sha256 39c685a625c4d92d0b4e4f4d9ba3ca021e61fb936a9575b9ec0e647607fdf5db \
size 405608 \
github.com/golang-jwt/jwt \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lock v4.5.0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 311821d136d54dfd8361a99e82acfce3e03c7aa6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 e37ca46342dbb9b301be70e3d1ab22fe119d3e73f01933755be2e2e782352f52 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 53062 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v4.5.1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 b1e36c30230836225a5b5474286ebf492ec6f577 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 6f5cb4c2a76ad59f9d0aa6d3a4287b2fcf97309b6961c5e73a3e11a5dfc6126c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 53190 \
</span> github.com/go-ole/go-ole \
lock v1.2.6 \
rmd160 70350a72faa92597facb55379e481ea049bb57da \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -413,6 +408,10 @@ go.vendors gopkg.in/yaml.v3 \
</span> # Notes for updating this port:
# Remember to update git commit hash
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Command runner fixes: https://github.com/filebrowser/filebrowser/pull/3676
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-3676.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.args -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append \
path:bin/node:nodejs22 \
path:bin/npm:npm10
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -441,10 +440,12 @@ pre-build {
</span> set nodesslver [exec ${prefix}/bin/node -e "console.log(process.versions.openssl)" | /usr/bin/grep -e "\\d.\\d*.\\d*" -o]
ui_debug "Installed Node.js linked OpenSSL ${nodesslver}"
if {[vercmp ${nodesslver} 3] < 0} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath}/frontend "${prefix}/bin/npm --verbose ci && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath}/frontend "${prefix}/bin/npm --verbose install && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix}/bin/npm --verbose ci && \
</span> ${prefix}/bin/npm --verbose run build"
} else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath}/frontend "NODE_OPTIONS=--openssl-legacy-provider ${prefix}/bin/npm --verbose ci && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath}/frontend "NODE_OPTIONS=--openssl-legacy-provider ${prefix}/bin/npm --verbose install && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NODE_OPTIONS=--openssl-legacy-provider ${prefix}/bin/npm --verbose ci && \
</span> NODE_OPTIONS=--openssl-legacy-provider ${prefix}/bin/npm --verbose run build"
}
}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/filebrowser/files/patch-d1c84a84123c77dede05c023b3697a432b56122c.diff b/net/filebrowser/files/patch-d1c84a84123c77dede05c023b3697a432b56122c.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index e274c83d2f6..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/filebrowser/files/patch-d1c84a84123c77dede05c023b3697a432b56122c.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,199 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/frontend/src/api/files.ts b/frontend/src/api/files.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a36de03f78..928f528298 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/frontend/src/api/files.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/frontend/src/api/files.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import { createURL, fetchURL, removePrefix } from "./utils";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import { baseURL } from "@/utils/constants";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import { useAuthStore } from "@/stores/auth";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+import { useLayoutStore } from "@/stores/layout";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+import { baseURL } from "@/utils/constants";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import { upload as postTus, useTus } from "./tus";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+import { createURL, fetchURL, removePrefix } from "./utils";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- export async function fetch(url: string) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- url = removePrefix(url);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -156,6 +157,7 @@ function moveCopy(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- overwrite = false,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rename = false
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const layoutStore = useLayoutStore();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const promises = [];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for (const item of items) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -166,7 +168,7 @@ function moveCopy(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }&destination=${to}&override=${overwrite}&rename=${rename}`;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- promises.push(resourceAction(url, "PATCH"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ layoutStore.closeHovers();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return Promise.all(promises);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/frontend/src/components/Sidebar.vue b/frontend/src/components/Sidebar.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d88d2d2f9d..543818ad70 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/frontend/src/components/Sidebar.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/frontend/src/components/Sidebar.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -101,7 +101,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- href="https://github.com/filebrowser/filebrowser"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- >File Browser</a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- >
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- <span> {{ ' ' }} {{ version }}</span>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ <span> {{ " " }} {{ version }}</span>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- </span>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <span>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <a @click="help">{{ $t("sidebar.help") }}</a>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/frontend/src/components/prompts/Prompts.vue b/frontend/src/components/prompts/Prompts.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 4ecde79428..71e4e753df 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/frontend/src/components/prompts/Prompts.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/frontend/src/components/prompts/Prompts.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3,7 +3,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- </template>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- <script setup lang="ts">
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import { ref, watch } from "vue";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+import { watch } from "vue";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import { ModalsContainer, useModal } from "vue-final-modal";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import { storeToRefs } from "pinia";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import { useLayoutStore } from "@/stores/layout";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -30,8 +30,6 @@ const layoutStore = useLayoutStore();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const { currentPromptName } = storeToRefs(layoutStore);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--const closeModal = ref<() => Promise<string>>();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const components = new Map<string, any>([
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ["info", Info],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ["help", Help],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -52,11 +50,6 @@ const components = new Map<string, any>([
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- watch(currentPromptName, (newValue) => {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (closeModal.value) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- closeModal.value();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- closeModal.value = undefined;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const modal = components.get(newValue!);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!modal) return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -67,7 +60,7 @@ watch(currentPromptName, (newValue) => {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- });
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- closeModal.value = close;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ layoutStore.setCloseOnPrompt(close, newValue!);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- open();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- });
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/frontend/src/components/prompts/Upload.vue b/frontend/src/components/prompts/Upload.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index bb8ec40ea4..538e84b5d1 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/frontend/src/components/prompts/Upload.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/frontend/src/components/prompts/Upload.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -48,8 +48,6 @@ const layoutStore = useLayoutStore();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // TODO: this is a copy of the same function in FileListing.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const uploadInput = (event: Event) => {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- layoutStore.closeHovers();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- let files = (event.currentTarget as HTMLInputElement)?.files;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (files === null) return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/frontend/src/stores/layout.ts b/frontend/src/stores/layout.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1911643a19..faf8bca721 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/frontend/src/stores/layout.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/frontend/src/stores/layout.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -29,6 +29,12 @@ export const useLayoutStore = defineStore("layout", {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- toggleShell() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- this.showShell = !this.showShell;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ setCloseOnPrompt(closeFunction: () => Promise<string>, onPrompt: string) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const prompt = this.prompts.find((prompt) => prompt.prompt === onPrompt);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (prompt) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ prompt.close = closeFunction;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- showHover(value: PopupProps | string) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (typeof value !== "object") {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- this.prompts.push({
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,6 +42,7 @@ export const useLayoutStore = defineStore("layout", {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- confirm: null,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- action: undefined,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- props: null,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ close: null,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- });
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -45,6 +52,7 @@ export const useLayoutStore = defineStore("layout", {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- confirm: value?.confirm,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- action: value?.action,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- props: value?.props,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ close: value?.close,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- });
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- showError() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -53,6 +61,7 @@ export const useLayoutStore = defineStore("layout", {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- confirm: null,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- action: undefined,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- props: null,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ close: null,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- });
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- showSuccess() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -61,10 +70,11 @@ export const useLayoutStore = defineStore("layout", {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- confirm: null,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- action: undefined,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- props: null,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ close: null,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- });
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- closeHovers() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- this.prompts.pop();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ this.prompts.shift()?.close?.();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- },
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // easily reset state using `$reset`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- clearLayout() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/frontend/src/types/layout.d.ts b/frontend/src/types/layout.d.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fa05a48496..b625cc070d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/frontend/src/types/layout.d.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/frontend/src/types/layout.d.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3,6 +3,7 @@ interface PopupProps {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- confirm?: any;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- action?: PopupAction;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- props?: any;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ close?: (() => Promise<string>) | null;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- type PopupAction = (e: Event) => void;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/frontend/src/utils/upload.ts b/frontend/src/utils/upload.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e7ce8becbe..cdd974e83c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/frontend/src/utils/upload.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/frontend/src/utils/upload.ts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,3 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+import { useLayoutStore } from "@/stores/layout";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import { useUploadStore } from "@/stores/upload";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import url from "@/utils/url";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -126,6 +127,9 @@ export function handleFiles(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- overwrite = false
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const uploadStore = useUploadStore();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const layoutStore = useLayoutStore();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ layoutStore.closeHovers();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for (const file of files) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const id = uploadStore.id;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/frontend/src/views/files/FileListing.vue b/frontend/src/views/files/FileListing.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 72171f4e06..ec75aec5aa 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/frontend/src/views/files/FileListing.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/frontend/src/views/files/FileListing.vue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -753,8 +753,6 @@ const drop = async (event: DragEvent) => {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- const uploadInput = (event: Event) => {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- layoutStore.closeHovers();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- let files = (event.currentTarget as HTMLInputElement)?.files;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (files === null) return;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span></pre><pre style='margin:0'>
</pre>