mirror of
https://github.com/immich-app/immich.git
synced 2025-05-31 20:25:32 -04:00
feat(web): save album sort direction (#4401)
This commit is contained in:
parent
ebb50476ac
commit
2370c9ef41
@ -43,6 +43,7 @@ export const isShowDetail = persisted<boolean>('info-opened', false, {});
|
|||||||
|
|
||||||
export interface AlbumViewSettings {
|
export interface AlbumViewSettings {
|
||||||
sortBy: string;
|
sortBy: string;
|
||||||
|
sortDesc: boolean;
|
||||||
view: string;
|
view: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,5 +62,6 @@ export enum AlbumViewMode {
|
|||||||
|
|
||||||
export const albumViewSettings = persisted<AlbumViewSettings>('album-view-settings', {
|
export const albumViewSettings = persisted<AlbumViewSettings>('album-view-settings', {
|
||||||
sortBy: 'Most recent photo',
|
sortBy: 'Most recent photo',
|
||||||
|
sortDesc: true,
|
||||||
view: AlbumViewMode.Cover,
|
view: AlbumViewMode.Cover,
|
||||||
});
|
});
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
albumTitle: {
|
albumTitle: {
|
||||||
table: 'Album title',
|
table: 'Album title',
|
||||||
sortTitle: 'Album title',
|
sortTitle: 'Album title',
|
||||||
sortDesc: true,
|
sortDesc: $albumViewSettings.sortDesc, // Load Sort Direction
|
||||||
widthClass: 'w-8/12 text-left sm:w-4/12 md:w-4/12 md:w-4/12 2xl:w-6/12',
|
widthClass: 'w-8/12 text-left sm:w-4/12 md:w-4/12 md:w-4/12 2xl:w-6/12',
|
||||||
sortFn: (reverse, albums) => {
|
sortFn: (reverse, albums) => {
|
||||||
return orderBy(albums, 'albumName', [reverse ? 'desc' : 'asc']);
|
return orderBy(albums, 'albumName', [reverse ? 'desc' : 'asc']);
|
||||||
@ -62,7 +62,7 @@
|
|||||||
numberOfAssets: {
|
numberOfAssets: {
|
||||||
table: 'Assets',
|
table: 'Assets',
|
||||||
sortTitle: 'Number of assets',
|
sortTitle: 'Number of assets',
|
||||||
sortDesc: true,
|
sortDesc: $albumViewSettings.sortDesc,
|
||||||
widthClass: 'w-4/12 text-center sm:w-2/12 2xl:w-1/12',
|
widthClass: 'w-4/12 text-center sm:w-2/12 2xl:w-1/12',
|
||||||
sortFn: (reverse, albums) => {
|
sortFn: (reverse, albums) => {
|
||||||
return orderBy(albums, 'assetCount', [reverse ? 'desc' : 'asc']);
|
return orderBy(albums, 'assetCount', [reverse ? 'desc' : 'asc']);
|
||||||
@ -71,7 +71,7 @@
|
|||||||
lastModified: {
|
lastModified: {
|
||||||
table: 'Updated date',
|
table: 'Updated date',
|
||||||
sortTitle: 'Last modified',
|
sortTitle: 'Last modified',
|
||||||
sortDesc: true,
|
sortDesc: $albumViewSettings.sortDesc,
|
||||||
widthClass: 'text-center hidden sm:block w-3/12 lg:w-2/12',
|
widthClass: 'text-center hidden sm:block w-3/12 lg:w-2/12',
|
||||||
sortFn: (reverse, albums) => {
|
sortFn: (reverse, albums) => {
|
||||||
return orderBy(albums, [(album) => new Date(album.updatedAt)], [reverse ? 'desc' : 'asc']);
|
return orderBy(albums, [(album) => new Date(album.updatedAt)], [reverse ? 'desc' : 'asc']);
|
||||||
@ -80,7 +80,7 @@
|
|||||||
mostRecent: {
|
mostRecent: {
|
||||||
table: 'Created date',
|
table: 'Created date',
|
||||||
sortTitle: 'Most recent photo',
|
sortTitle: 'Most recent photo',
|
||||||
sortDesc: true,
|
sortDesc: $albumViewSettings.sortDesc,
|
||||||
widthClass: 'text-center hidden sm:block w-3/12 lg:w-2/12',
|
widthClass: 'text-center hidden sm:block w-3/12 lg:w-2/12',
|
||||||
sortFn: (reverse, albums) => {
|
sortFn: (reverse, albums) => {
|
||||||
return orderBy(
|
return orderBy(
|
||||||
@ -145,6 +145,7 @@
|
|||||||
for (const key in sortByOptions) {
|
for (const key in sortByOptions) {
|
||||||
if (sortByOptions[key].sortTitle === sortBy) {
|
if (sortByOptions[key].sortTitle === sortBy) {
|
||||||
$albums = sortByOptions[key].sortFn(sortByOptions[key].sortDesc, $unsortedAlbums);
|
$albums = sortByOptions[key].sortFn(sortByOptions[key].sortDesc, $unsortedAlbums);
|
||||||
|
$albumViewSettings.sortDesc = sortByOptions[key].sortDesc; // "Save" sortDesc
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user