From 9d1cab21b2a9c9251f9dbfab62819afc95d58965 Mon Sep 17 00:00:00 2001 From: provokateurin Date: Thu, 30 Jan 2025 17:07:36 +0100 Subject: [PATCH] fix(files): Fix folder preview for favorites widget Signed-off-by: provokateurin --- apps/files/lib/Dashboard/FavoriteWidget.php | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/apps/files/lib/Dashboard/FavoriteWidget.php b/apps/files/lib/Dashboard/FavoriteWidget.php index a36dd65c81bc7..b68b8a56b2eaf 100644 --- a/apps/files/lib/Dashboard/FavoriteWidget.php +++ b/apps/files/lib/Dashboard/FavoriteWidget.php @@ -18,6 +18,7 @@ use OCP\Dashboard\Model\WidgetItem; use OCP\Dashboard\Model\WidgetItems; use OCP\Dashboard\Model\WidgetOptions; +use OCP\Files\File; use OCP\Files\IMimeTypeDetector; use OCP\Files\IRootFolder; use OCP\IL10N; @@ -88,13 +89,17 @@ public function getItems(string $userId, int $limit = 7): array { $url = $this->urlGenerator->linkToRouteAbsolute( 'files.view.showFile', ['fileid' => $node->getId()] ); - $icon = $this->urlGenerator->linkToRouteAbsolute('core.Preview.getPreviewByFileId', [ - 'x' => 256, - 'y' => 256, - 'fileId' => $node->getId(), - 'c' => $node->getEtag(), - 'mimeFallback' => true, - ]); + if ($node instanceof File) { + $icon = $this->urlGenerator->linkToRouteAbsolute('core.Preview.getPreviewByFileId', [ + 'x' => 256, + 'y' => 256, + 'fileId' => $node->getId(), + 'c' => $node->getEtag(), + 'mimeFallback' => true, + ]); + } else { + $icon = $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'filetypes/folder.svg')); + } $favoriteNodes[] = new WidgetItem( $node->getName(), '',