mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
feat (web/server) 360 degrees Web panoramas [attempt 2] (#3412)
* commit 1 (isPanorama: boolean)
* working solution for projectiontypeenum
* fix
* format fix
* fix
* fix
* fix
* fix
* enum projectiontype
* working solution with exif
* fix
* reverted >
* fix format
* reverted auto-magic api.ts prettification
* fix
* reverted api.ts autogenerated
* api ts regenerated
* Update web/src/lib/components/assets/thumbnail/thumbnail.svelte
Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>
* Update web/src/lib/components/asset-viewer/asset-viewer.svelte
Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>
* exifProjectionType
* Update server/src/microservices/processors/metadata-extraction.processor.ts
Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>
* projectionType?: string = ProjectionType.NONE;
* not null
* projectionType!: ProjectionType;
* opeapi generator fix
* fixes
* fix
* fix
* generate api
* asset.exifInifo?.projectionType
* Update server/src/domain/asset/response-dto/exif-response.dto.ts
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
* Update server/src/microservices/processors/metadata-extraction.processor.ts
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
* enum -> varchar;projectiontypeenum->projectiontype
* asset-viewer fixed prettiffier
* @Column({}) single line
* enum | string
* make api
* enum | string
* enum | str fix
* fix
* chore: use string instead of enum
* chore: open api
* fix: checks
---------
Co-authored-by: Sergey Kondrikov <sergey.kondrikov@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
This commit is contained in:
parent
13b2b2fc4e
commit
e071b82e8a
20 changed files with 282 additions and 50 deletions
|
|
@ -12,6 +12,8 @@
|
|||
import DetailPanel from './detail-panel.svelte';
|
||||
import PhotoViewer from './photo-viewer.svelte';
|
||||
import VideoViewer from './video-viewer.svelte';
|
||||
import PanoramaViewer from './panorama-viewer.svelte';
|
||||
import { ProjectionType } from '$lib/constants';
|
||||
import ConfirmDialogue from '$lib/components/shared-components/confirm-dialogue.svelte';
|
||||
import ProfileImageCropper from '../shared-components/profile-image-cropper.svelte';
|
||||
|
||||
|
|
@ -293,6 +295,8 @@
|
|||
on:close={closeViewer}
|
||||
on:onVideoEnded={() => (shouldPlayMotionPhoto = false)}
|
||||
/>
|
||||
{:else if asset.exifInfo?.projectionType === ProjectionType.EQUIRECTANGULAR}
|
||||
<PanoramaViewer {publicSharedKey} {asset} />
|
||||
{:else}
|
||||
<PhotoViewer {publicSharedKey} {asset} on:close={closeViewer} />
|
||||
{/if}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue