Merge branch 'master' into stable24
commit
11dad5e98d
|
@ -0,0 +1 @@
|
||||||
|
github: [pulsejet]
|
|
@ -47,6 +47,7 @@ Memories is a _batteries-included_ photo management solution for Nextcloud with
|
||||||
1. **🌟 Star this repository**: This is the easiest way to support the project and costs nothing.
|
1. **🌟 Star this repository**: This is the easiest way to support the project and costs nothing.
|
||||||
1. **🪲 Report bugs**: If you find a bug, please report it on the issue tracker.
|
1. **🪲 Report bugs**: If you find a bug, please report it on the issue tracker.
|
||||||
1. **📝 Contribute**: If you want to contribute, please read file / comment on an issue and ask for guidance.
|
1. **📝 Contribute**: If you want to contribute, please read file / comment on an issue and ask for guidance.
|
||||||
|
1. **🪙 Sponsorship**: If you want to support the project financially, you can donate to the project on [GitHub](https://github.com/sponsors/pulsejet).
|
||||||
|
|
||||||
## Special Thanks
|
## Special Thanks
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ mv "exiftool-$exifver" exiftool
|
||||||
rm -rf *.zip exiftool/t exiftool/html
|
rm -rf *.zip exiftool/t exiftool/html
|
||||||
chmod 755 exiftool/exiftool
|
chmod 755 exiftool/exiftool
|
||||||
|
|
||||||
govod="0.0.5"
|
govod="0.0.6"
|
||||||
wget -q "https://github.com/pulsejet/go-vod/releases/download/$govod/go-vod-amd64"
|
wget -q "https://github.com/pulsejet/go-vod/releases/download/$govod/go-vod-amd64"
|
||||||
wget -q "https://github.com/pulsejet/go-vod/releases/download/$govod/go-vod-aarch64"
|
wget -q "https://github.com/pulsejet/go-vod/releases/download/$govod/go-vod-aarch64"
|
||||||
chmod 755 go-vod-*
|
chmod 755 go-vod-*
|
||||||
|
|
|
@ -141,22 +141,6 @@ class VideoContentSetup {
|
||||||
}
|
}
|
||||||
content.element.appendChild(content.videoElement);
|
content.element.appendChild(content.videoElement);
|
||||||
|
|
||||||
// Pause / play on click on mobile
|
|
||||||
let touchAt = 0;
|
|
||||||
content.videoElement.addEventListener("touchstart", (e) => {
|
|
||||||
touchAt = e.timeStamp;
|
|
||||||
});
|
|
||||||
content.videoElement.addEventListener("touchend", (e) => {
|
|
||||||
if (touchAt && e.timeStamp - touchAt < 200) {
|
|
||||||
if (content.videojs.paused()) {
|
|
||||||
content.videojs.play();
|
|
||||||
} else {
|
|
||||||
content.videojs.pause();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
touchAt = 0;
|
|
||||||
});
|
|
||||||
|
|
||||||
const fileid = content.data.photo.fileid;
|
const fileid = content.data.photo.fileid;
|
||||||
|
|
||||||
// Create hls sources if enabled
|
// Create hls sources if enabled
|
||||||
|
@ -230,6 +214,12 @@ class VideoContentSetup {
|
||||||
content.videojs.play();
|
content.videojs.play();
|
||||||
}, 500);
|
}, 500);
|
||||||
|
|
||||||
|
let canPlay = false;
|
||||||
|
content.videojs.on("canplay", () => {
|
||||||
|
canPlay = true;
|
||||||
|
this.updateRotation(content);
|
||||||
|
});
|
||||||
|
|
||||||
// Get correct orientation
|
// Get correct orientation
|
||||||
axios
|
axios
|
||||||
.get<any>(
|
.get<any>(
|
||||||
|
@ -239,7 +229,10 @@ class VideoContentSetup {
|
||||||
)
|
)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
content.data.exif = response.data?.exif;
|
content.data.exif = response.data?.exif;
|
||||||
this.updateRotation(content);
|
|
||||||
|
// Update only after video is ready
|
||||||
|
// Otherwise the poster image is rotated
|
||||||
|
if (canPlay) this.updateRotation(content);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -278,7 +278,7 @@ export default class SelectionManager extends Mixins(GlobalMixin, UserConfig) {
|
||||||
|
|
||||||
/** Clicking on photo */
|
/** Clicking on photo */
|
||||||
public clickPhoto(photo: IPhoto, event: any, rowIdx: number) {
|
public clickPhoto(photo: IPhoto, event: any, rowIdx: number) {
|
||||||
if (photo.flag & this.c.FLAG_PLACEHOLDER || event?.button !== 0) return;
|
if (photo.flag & this.c.FLAG_PLACEHOLDER) return;
|
||||||
|
|
||||||
if (this.has()) {
|
if (this.has()) {
|
||||||
if (event.shiftKey) {
|
if (event.shiftKey) {
|
||||||
|
|
|
@ -98,7 +98,7 @@
|
||||||
:day="item.day"
|
:day="item.day"
|
||||||
:key="photo.fileid"
|
:key="photo.fileid"
|
||||||
@select="selectionManager.selectPhoto"
|
@select="selectionManager.selectPhoto"
|
||||||
@mousedown="selectionManager.clickPhoto(photo, $event, index)"
|
@pointerdown="selectionManager.clickPhoto(photo, $event, index)"
|
||||||
@touchstart="
|
@touchstart="
|
||||||
selectionManager.touchstartPhoto(photo, $event, index)
|
selectionManager.touchstartPhoto(photo, $event, index)
|
||||||
"
|
"
|
||||||
|
|
|
@ -469,8 +469,7 @@ export default class Viewer extends Mixins(GlobalMixin) {
|
||||||
// Get the thumbnail image
|
// Get the thumbnail image
|
||||||
this.photoswipe.addFilter("thumbEl", (thumbEl, data, index) => {
|
this.photoswipe.addFilter("thumbEl", (thumbEl, data, index) => {
|
||||||
const photo = this.list[index - this.globalAnchor];
|
const photo = this.list[index - this.globalAnchor];
|
||||||
if (!photo || !photo.w || !photo.h || photo.flag & this.c.FLAG_IS_VIDEO)
|
if (!photo || !photo.w || !photo.h) return thumbEl;
|
||||||
return thumbEl;
|
|
||||||
return this.thumbElem(photo) || thumbEl;
|
return this.thumbElem(photo) || thumbEl;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
<div
|
<div
|
||||||
class="img-outer fill-block"
|
class="img-outer fill-block"
|
||||||
@contextmenu="contextmenu"
|
@contextmenu="contextmenu"
|
||||||
@mousedown="$emit('mousedown', $event)"
|
@pointerdown.passive="$emit('pointerdown', $event)"
|
||||||
@touchstart.passive="$emit('touchstart', $event)"
|
@touchstart.passive="$emit('touchstart', $event)"
|
||||||
@touchmove="$emit('touchmove', $event)"
|
@touchmove="$emit('touchmove', $event)"
|
||||||
@touchend.passive="$emit('touchend', $event)"
|
@touchend.passive="$emit('touchend', $event)"
|
||||||
|
|
Loading…
Reference in New Issue