aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorprovokateurin <kate@provokateurin.de>2025-03-27 08:39:53 +0100
committerprovokateurin <kate@provokateurin.de>2025-03-27 08:56:45 +0100
commit07c1aea2f53691d33dd0c727bd42a9cf4ccc02e0 (patch)
treed02d031433ccda07b6a597504ec24fc4ac8e8d02
parent936166939cb83acc940de9e1bef495013c2dc162 (diff)
downloadnextcloud-server-07c1aea2f53691d33dd0c727bd42a9cf4ccc02e0.tar.gz
nextcloud-server-07c1aea2f53691d33dd0c727bd42a9cf4ccc02e0.zip
fix(files_versions): Rely on server mime fallback iconsfix/files_versions/previews
Signed-off-by: provokateurin <kate@provokateurin.de>
-rw-r--r--apps/files_versions/src/components/Version.vue2
-rw-r--r--apps/files_versions/src/utils/versions.ts6
-rw-r--r--apps/files_versions/src/views/VersionTab.vue5
3 files changed, 5 insertions, 8 deletions
diff --git a/apps/files_versions/src/components/Version.vue b/apps/files_versions/src/components/Version.vue
index 7235566f48e..8ea16e215c6 100644
--- a/apps/files_versions/src/components/Version.vue
+++ b/apps/files_versions/src/components/Version.vue
@@ -11,7 +11,7 @@
<!-- Icon -->
<template #icon>
<div v-if="!(loadPreview || previewLoaded)" class="version__image" />
- <img v-else-if="(isCurrent || version.hasPreview) && !previewErrored"
+ <img v-else-if="version.previewUrl && !previewErrored"
:src="version.previewUrl"
alt=""
decoding="async"
diff --git a/apps/files_versions/src/utils/versions.ts b/apps/files_versions/src/utils/versions.ts
index b52f92ef462..6d5933f0bd9 100644
--- a/apps/files_versions/src/utils/versions.ts
+++ b/apps/files_versions/src/utils/versions.ts
@@ -28,7 +28,6 @@ export interface Version {
type: string, // 'file'
mtime: number, // Version creation date as a timestamp
permissions: string, // Only readable: 'R'
- hasPreview: boolean, // Whether the version has a preview
previewUrl: string, // Preview URL of the version
url: string, // Download URL of the version
source: string, // The WebDAV endpoint of the ressource
@@ -78,12 +77,12 @@ function formatVersion(version: any, fileInfo: any): Version {
let previewUrl = ''
if (mtime === fileInfo.mtime) { // Version is the current one
- previewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0', {
+ previewUrl = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0&forceIcon=1&mimeFallback=1', {
fileId: fileInfo.id,
fileEtag: fileInfo.etag,
})
} else {
- previewUrl = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}', {
+ previewUrl = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}&mimeFallback=1', {
file: joinPaths(fileInfo.path, fileInfo.name),
fileVersion: version.basename,
})
@@ -102,7 +101,6 @@ function formatVersion(version: any, fileInfo: any): Version {
type: version.type,
mtime,
permissions: 'R',
- hasPreview: version.props['has-preview'] === 1,
previewUrl,
url: joinPaths('/remote.php/dav', version.filename),
source: generateRemoteUrl('dav') + encodePath(version.filename),
diff --git a/apps/files_versions/src/views/VersionTab.vue b/apps/files_versions/src/views/VersionTab.vue
index c088c9a1b9d..48e07b7c786 100644
--- a/apps/files_versions/src/views/VersionTab.vue
+++ b/apps/files_versions/src/views/VersionTab.vue
@@ -277,13 +277,12 @@ export default {
return
}
- // Versions previews are too small for our use case, so we override hasPreview and previewUrl
+ // Versions previews are too small for our use case, so we override previewUrl
// which makes the viewer render the original file.
// We also point to the original filename if the version is the current one.
const versions = this.versions.map(version => ({
...version,
filename: version.mtime === this.fileInfo.mtime ? path.join('files', getCurrentUser()?.uid ?? '', this.fileInfo.path, this.fileInfo.name) : version.filename,
- hasPreview: false,
previewUrl: undefined,
}))
@@ -294,7 +293,7 @@ export default {
},
compareVersion({ version }) {
- const versions = this.versions.map(version => ({ ...version, hasPreview: false, previewUrl: undefined }))
+ const versions = this.versions.map(version => ({ ...version, previewUrl: undefined }))
OCA.Viewer.compare(this.viewerFileInfo, versions.find(v => v.source === version.source))
},