refactor: move local check to utils
Signed-off-by: Varun Patil <radialapps@gmail.com>pull/767/head
parent
4b1759fb11
commit
c231e48df9
|
@ -118,24 +118,24 @@ export default defineComponent({
|
|||
},
|
||||
|
||||
computed: {
|
||||
isVideo() {
|
||||
return this.photo && (this.photo.mimetype?.startsWith('video/') || this.photo.flag & this.c.FLAG_IS_VIDEO);
|
||||
isVideo(): boolean {
|
||||
return !!this.photo && (this.photo.mimetype?.startsWith('video/') || !!(this.photo.flag & this.c.FLAG_IS_VIDEO));
|
||||
},
|
||||
|
||||
canShareNative() {
|
||||
canShareNative(): boolean {
|
||||
return 'share' in navigator || nativex.has();
|
||||
},
|
||||
|
||||
canShareHighRes() {
|
||||
canShareHighRes(): boolean {
|
||||
return !this.isLocal && (!this.isVideo || !this.config.vod_disable);
|
||||
},
|
||||
|
||||
canShareLink() {
|
||||
return this.photo?.imageInfo?.permissions?.includes('S');
|
||||
canShareLink(): boolean {
|
||||
return !!this.photo?.imageInfo?.permissions?.includes('S');
|
||||
},
|
||||
|
||||
isLocal() {
|
||||
return Boolean((this.photo?.flag ?? 0) & this.c.FLAG_IS_LOCAL);
|
||||
isLocal(): boolean {
|
||||
return utils.isLocalPhoto(this.photo);
|
||||
},
|
||||
},
|
||||
|
||||
|
|
|
@ -142,7 +142,7 @@ class VideoContentSetup {
|
|||
const fileid = content.data.photo.fileid;
|
||||
|
||||
// Local videos are played back directly
|
||||
if (content.data.photo.flag & utils.constants.c.FLAG_IS_LOCAL) {
|
||||
if (utils.isLocalPhoto(content.data.photo)) {
|
||||
nativex.playVideoLocal(fileid);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -330,7 +330,7 @@ export default defineComponent({
|
|||
|
||||
/** Is the current slide a local photo */
|
||||
isLocal(): boolean {
|
||||
return Boolean((this.currentPhoto?.flag ?? 0) & this.c.FLAG_IS_LOCAL);
|
||||
return utils.isLocalPhoto(this.currentPhoto);
|
||||
},
|
||||
|
||||
/** Show bottom bar info such as date taken */
|
||||
|
@ -808,7 +808,7 @@ export default defineComponent({
|
|||
// Get full image URL
|
||||
const fullUrl = isvideo
|
||||
? null
|
||||
: photo.flag & this.c.FLAG_IS_LOCAL
|
||||
: utils.isLocalPhoto(photo)
|
||||
? nativex.API.IMAGE_FULL(photo.fileid)
|
||||
: API.IMAGE_DECODABLE(photo.fileid, photo.etag);
|
||||
const fullLoadCond = this.config.full_res_always ? 'always' : this.config.full_res_on_zoom ? 'zoom' : 'never';
|
||||
|
|
|
@ -55,7 +55,7 @@ export async function getFiles(photos: IPhoto[]): Promise<IFileInfo[]> {
|
|||
let fileInfos: IFileInfo[] = [];
|
||||
|
||||
// Remove any local photos
|
||||
photos = photos.filter((photo) => !(photo.flag & utils.constants.c.FLAG_IS_LOCAL));
|
||||
photos = photos.filter((photo) => !utils.isLocalPhoto(photo));
|
||||
|
||||
// Get file IDs array
|
||||
const fileIds = photos.map((photo) => photo.fileid);
|
||||
|
|
|
@ -54,7 +54,7 @@ export function getPreviewUrl(opts: PreviewOptsSize | PreviewOptsMsize | Preview
|
|||
if (square) size = sqsize as any;
|
||||
|
||||
// Native preview
|
||||
if (photo.flag & constants.c.FLAG_IS_LOCAL) {
|
||||
if (isLocalPhoto(photo)) {
|
||||
return API.Q(nativex.API.IMAGE_PREVIEW(photo.fileid), { c: photo.etag });
|
||||
}
|
||||
|
||||
|
@ -86,15 +86,23 @@ export function getPreviewUrl(opts: PreviewOptsSize | PreviewOptsMsize | Preview
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the object is a local photo
|
||||
* @param photo Photo object
|
||||
*/
|
||||
export function isLocalPhoto(photo: any): boolean {
|
||||
return typeof photo === 'object' && photo?.fileid && Boolean((photo?.flag ?? 0) & constants.c.FLAG_IS_LOCAL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the URL for the imageInfo of a photo
|
||||
*
|
||||
* @param photo Photo object or fileid (remote only)
|
||||
*/
|
||||
export function getImageInfoUrl(photo: IPhoto | number) {
|
||||
const fileid = typeof photo === 'object' ? photo.fileid : photo;
|
||||
export function getImageInfoUrl(photo: IPhoto | number): string {
|
||||
const fileid = typeof photo === 'number' ? photo : photo.fileid;
|
||||
|
||||
if (typeof photo === 'object' && photo.flag & constants.c.FLAG_IS_LOCAL) {
|
||||
if (isLocalPhoto(photo)) {
|
||||
return nativex.API.IMAGE_INFO(fileid);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue