mirror of
https://github.com/immich-app/immich.git
synced 2025-03-01 15:11:21 +01:00
32 lines
975 B
Svelte
32 lines
975 B
Svelte
<script lang="ts">
|
|
import { albumViewSettings, SortOrder } from '$lib/stores/preferences.store';
|
|
import type { AlbumSortOptionMetadata } from '$lib/utils/album-utils';
|
|
|
|
export let option: AlbumSortOptionMetadata;
|
|
|
|
const handleSort = () => {
|
|
if ($albumViewSettings.sortBy === option.id) {
|
|
$albumViewSettings.sortOrder = $albumViewSettings.sortOrder === SortOrder.Asc ? SortOrder.Desc : SortOrder.Asc;
|
|
} else {
|
|
$albumViewSettings.sortBy = option.id;
|
|
$albumViewSettings.sortOrder = option.defaultOrder;
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<th class="text-sm font-medium {option.columnStyle}">
|
|
<button
|
|
type="button"
|
|
class="rounded-lg p-2 hover:bg-immich-dark-primary hover:dark:bg-immich-dark-primary/50"
|
|
on:click={handleSort}
|
|
>
|
|
{#if $albumViewSettings.sortBy === option.id}
|
|
{#if $albumViewSettings.sortOrder === SortOrder.Desc}
|
|
↓
|
|
{:else}
|
|
↑
|
|
{/if}
|
|
{/if}
|
|
{option.text}
|
|
</button>
|
|
</th>
|