1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-10 13:56:47 +01:00
immich/web/src/lib/models/asset-grid-state.ts
Jason Rasmussen f55b3add80
chore(web): prettier (#2821)
Co-authored-by: Thomas Way <thomas@6f.io>
2023-06-30 23:50:47 -05:00

53 lines
1.1 KiB
TypeScript

import type { AssetResponseDto } from '@api';
export enum BucketPosition {
Above = 'above',
Below = 'below',
Visible = 'visible',
Unknown = 'unknown',
}
export class AssetBucket {
/**
* The DOM height of the bucket in pixel
* This value is first estimated by the number of asset and later is corrected as the user scroll
*/
bucketHeight!: number;
bucketDate!: string;
assets!: AssetResponseDto[];
cancelToken!: AbortController;
position!: BucketPosition;
}
export class AssetGridState {
/**
* The total height of the timeline in pixel
* This value is first estimated by the number of asset and later is corrected as the user scroll
*/
timelineHeight = 0;
/**
* The fixed viewport height in pixel
*/
viewportHeight = 0;
/**
* The fixed viewport width in pixel
*/
viewportWidth = 0;
/**
* List of bucket information
*/
buckets: AssetBucket[] = [];
/**
* Total assets that have been loaded
*/
assets: AssetResponseDto[] = [];
/**
* User that owns assets
*/
userId: string | undefined;
}