aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2024-09-09 12:11:32 +0200
committerJonas <jonas@freesources.org>2024-09-09 14:49:21 +0200
commitfccb132e2b994608e30fc1e0ac546c5ba0ee0a25 (patch)
treea7c1e167f231f4c0b806d532bda91dafde7a4281 /apps
parent00712c22b32589b24fc8637ca3dc8816c37b503e (diff)
downloadnextcloud-server-fccb132e2b994608e30fc1e0ac546c5ba0ee0a25.tar.gz
nextcloud-server-fccb132e2b994608e30fc1e0ac546c5ba0ee0a25.zip
fix(files_sharing): Open single-file-share by default
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'apps')
-rw-r--r--apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php1
-rw-r--r--apps/files_sharing/src/init-public.ts11
2 files changed, 12 insertions, 0 deletions
diff --git a/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php b/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php
index d505f38817c..784dc4e5e15 100644
--- a/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php
+++ b/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php
@@ -77,6 +77,7 @@ class DefaultPublicShareTemplateProvider implements IPublicShareTemplateProvider
$view = 'public-share';
if ($shareNode instanceof File) {
$view = 'public-file-share';
+ $this->initialState->provideInitialState('fileId', $shareNode->getId());
} elseif (($share->getPermissions() & \OCP\Constants::PERMISSION_CREATE)
&& !($share->getPermissions() & \OCP\Constants::PERMISSION_READ)
) {
diff --git a/apps/files_sharing/src/init-public.ts b/apps/files_sharing/src/init-public.ts
index 1b4765960aa..79aab58bd1d 100644
--- a/apps/files_sharing/src/init-public.ts
+++ b/apps/files_sharing/src/init-public.ts
@@ -22,3 +22,14 @@ navigation.setActive(navigation.views.find(({ id }) => id === view) ?? null)
// Force our own router
window.OCP.Files = window.OCP.Files ?? {}
window.OCP.Files.Router = new RouterService(router)
+
+// If this is a single file share, so set the fileid as active in the URL
+const fileId = loadState<number|null>('files_sharing', 'fileId', null)
+const token = loadState<string>('files_sharing', 'sharingToken')
+if (fileId !== null) {
+ window.OCP.Files.Router.goToRoute(
+ 'filelist',
+ { ...window.OCP.Files.Router.params, token, fileid: String(fileId) },
+ { ...window.OCP.Files.Router.query, openfile: 'true' },
+ )
+}