Compare commits

...

4 Commits

Author SHA1 Message Date
Alex Tran
320651d63f add assets to bucket group by day 2024-06-03 15:52:19 -05:00
Alex Tran
8dea3ef74f Merge branches 'chore/web-bucketing-by-day' and 'main' of github.com:immich-app/immich into chore/web-bucketing-by-day 2024-06-02 16:06:58 -05:00
Alex
db12568849 fix test 2024-06-02 13:33:50 +07:00
Alex
95da3eb7a0 chore(web): timeline bucketing by day 2024-06-02 08:58:57 +07:00
3 changed files with 9 additions and 4 deletions

View File

@@ -43,6 +43,7 @@
public timeGroup = '';
public date!: DateTime;
public hasLabel = false;
public hasDotIndicator = false;
}
const calculateSegments = (buckets: AssetBucket[]) => {
@@ -60,6 +61,10 @@
height = 0;
}
if (previous?.date.month !== segment.date.month) {
segment.hasDotIndicator = true;
}
height += segment.height;
previous = segment;
return segment;
@@ -164,7 +169,7 @@
>
{segment.date.year}
</div>
{:else if segment.height > 5}
{:else if segment.height > 5 && segment.hasDotIndicator}
<div
aria-label={segment.timeGroup + ' ' + segment.count}
class="absolute right-0 mr-3 block h-[4px] w-[4px] rounded-full bg-gray-300"

View File

@@ -31,7 +31,7 @@ describe('AssetStore', () => {
it('should load buckets in viewport', () => {
expect(sdkMock.getTimeBuckets).toBeCalledTimes(1);
expect(sdkMock.getTimeBuckets).toBeCalledWith({ size: TimeBucketSize.Month });
expect(sdkMock.getTimeBuckets).toBeCalledWith({ size: TimeBucketSize.Day });
expect(sdkMock.getTimeBucket).toHaveBeenCalledTimes(2);
});

View File

@@ -86,7 +86,7 @@ export class AssetStore {
options: AssetStoreOptions,
private albumId?: string,
) {
this.options = { ...options, size: TimeBucketSize.Month };
this.options = { ...options, size: TimeBucketSize.Day };
this.store$.set(this);
}
@@ -347,7 +347,7 @@ export class AssetStore {
const updatedBuckets = new Set<AssetBucket>();
for (const asset of assets) {
const timeBucket = DateTime.fromISO(asset.fileCreatedAt).toUTC().startOf('month').toString();
const timeBucket = DateTime.fromISO(asset.fileCreatedAt).toUTC().startOf('day').toString();
let bucket = this.getBucketByDate(timeBucket);
if (!bucket) {