Merge branch 'master' into add-username-in-sidebar

pull/2821/head
Jonathan Bout 2025-07-08 23:43:02 +02:00 committed by GitHub
commit 1f5c197607
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 39 additions and 21 deletions

View File

@ -2,6 +2,22 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [2.37.0](https://github.com/filebrowser/filebrowser/compare/v2.36.3...v2.37.0) (2025-07-08)
### Features
* Translate frontend/src/i18n/en.json in zh_CN ([65bbf44](https://github.com/filebrowser/filebrowser/commit/65bbf44e3c0bff83e64193d46e9d6ad302952276))
* Translate frontend/src/i18n/en.json in zh_TW ([b28952c](https://github.com/filebrowser/filebrowser/commit/b28952cb2582bd4eb44e91d0676e2803c458cf31))
* Translate frontend/src/i18n/en.json in zh_TW ([1e96fd9](https://github.com/filebrowser/filebrowser/commit/1e96fd9035d5185dc80970a2826ccb573b5f000e))
### Bug Fixes
* long file name overlap ([fcb248a](https://github.com/filebrowser/filebrowser/commit/fcb248a5feb7b7404ca5923aae17f6d3f8d3cc96))
* preview PDF is correctly displayed ([bf73e4d](https://github.com/filebrowser/filebrowser/commit/bf73e4dea3b27c01c8f6e60fb2048e1a2122a70e))
* Upload progress size calculation ([e423395](https://github.com/filebrowser/filebrowser/commit/e423395ef0bcd106ddc7d460c055b95b5208415e))
### [2.36.3](https://github.com/filebrowser/filebrowser/compare/v2.36.2...v2.36.3) (2025-07-06) ### [2.36.3](https://github.com/filebrowser/filebrowser/compare/v2.36.2...v2.36.3) (2025-07-06)

View File

@ -195,10 +195,6 @@ html[dir="rtl"] #listing {
align-items: center; align-items: center;
} }
#listing.list .item p.name:not(#listing.list .item.header .name) {
margin-right: -3em;
}
#listing.list .item .name { #listing.list .item .name {
width: 50%; width: 50%;
} }
@ -227,18 +223,18 @@ html[dir="rtl"] #listing {
border-bottom: 1px solid var(--borderPrimary); border-bottom: 1px solid var(--borderPrimary);
} }
#listing.list .item.header > div:first-child { #listing.list .item.header > div {
width: 0; width: 100%;
}
#listing.list .item.header .name {
margin-right: 3em;
} }
#listing.list .header a { #listing.list .header a {
color: inherit; color: inherit;
} }
#listing.list .item.header > div:first-child {
width: 0;
}
#listing.list .name { #listing.list .name {
font-weight: normal; font-weight: normal;
word-wrap: break-word; word-wrap: break-word;

View File

@ -162,7 +162,6 @@
> >
<div> <div>
<div class="item header"> <div class="item header">
<div></div>
<div> <div>
<p <p
:class="{ active: nameSorted }" :class="{ active: nameSorted }"

View File

@ -60,7 +60,7 @@
<div v-if="isEpub" class="epub-reader"> <div v-if="isEpub" class="epub-reader">
<vue-reader <vue-reader
:location="location" :location="location"
:url="raw" :url="previewUrl"
:get-rendition="getRendition" :get-rendition="getRendition"
:epubInitOptions="{ :epubInitOptions="{
requestCredentials: true, requestCredentials: true,
@ -87,11 +87,14 @@
<span>{{ size }}%</span> <span>{{ size }}%</span>
</div> </div>
</div> </div>
<ExtendedImage v-else-if="fileStore.req?.type == 'image'" :src="raw" /> <ExtendedImage
v-else-if="fileStore.req?.type == 'image'"
:src="previewUrl"
/>
<audio <audio
v-else-if="fileStore.req?.type == 'audio'" v-else-if="fileStore.req?.type == 'audio'"
ref="player" ref="player"
:src="raw" :src="previewUrl"
controls controls
:autoplay="autoPlay" :autoplay="autoPlay"
@play="autoPlay = true" @play="autoPlay = true"
@ -99,12 +102,12 @@
<VideoPlayer <VideoPlayer
v-else-if="fileStore.req?.type == 'video'" v-else-if="fileStore.req?.type == 'video'"
ref="player" ref="player"
:source="raw" :source="previewUrl"
:subtitles="subtitles" :subtitles="subtitles"
:options="videoOptions" :options="videoOptions"
> >
</VideoPlayer> </VideoPlayer>
<object v-else-if="isPdf" class="pdf" :data="raw"></object> <object v-else-if="isPdf" class="pdf" :data="previewUrl"></object>
<div v-else-if="fileStore.req?.type == 'blob'" class="info"> <div v-else-if="fileStore.req?.type == 'blob'" class="info">
<div class="title"> <div class="title">
<i class="material-icons">feedback</i> <i class="material-icons">feedback</i>
@ -119,7 +122,7 @@
</a> </a>
<a <a
target="_blank" target="_blank"
:href="raw" :href="previewUrl"
class="button button--flat" class="button button--flat"
v-if="!fileStore.req?.isDir" v-if="!fileStore.req?.isDir"
> >
@ -256,16 +259,20 @@ const downloadUrl = computed(() =>
fileStore.req ? api.getDownloadURL(fileStore.req, false) : "" fileStore.req ? api.getDownloadURL(fileStore.req, false) : ""
); );
const raw = computed(() => { const previewUrl = computed(() => {
if (fileStore.req?.type === "image" && !fullSize.value) { if (!fileStore.req) {
return "";
}
if (fileStore.req.type === "image" && !fullSize.value) {
return api.getPreviewURL(fileStore.req, "big"); return api.getPreviewURL(fileStore.req, "big");
} }
if (isEpub.value) { if (isEpub.value) {
return createURL("api/raw" + fileStore.req?.path, {}); return createURL("api/raw" + fileStore.req.path, {});
} }
return downloadUrl.value; return api.getDownloadURL(fileStore.req, true);
}); });
const isPdf = computed(() => fileStore.req?.extension.toLowerCase() == ".pdf"); const isPdf = computed(() => fileStore.req?.extension.toLowerCase() == ".pdf");