2024-06-03 20:35:17 -05:00
|
|
|
<script lang="ts">
|
|
|
|
|
import { type AlbumCountResponseDto, getAlbumCount } from '@immich/sdk';
|
|
|
|
|
import LoadingSpinner from '$lib/components/shared-components/loading-spinner.svelte';
|
2024-06-12 18:37:46 +02:00
|
|
|
import { t } from 'svelte-i18n';
|
2024-06-03 20:35:17 -05:00
|
|
|
|
|
|
|
|
export let albumCountType: keyof AlbumCountResponseDto;
|
|
|
|
|
|
|
|
|
|
const handleAlbumCount = async () => {
|
|
|
|
|
try {
|
|
|
|
|
return await getAlbumCount();
|
|
|
|
|
} catch {
|
|
|
|
|
return { owned: 0, shared: 0, notShared: 0 };
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
{#await handleAlbumCount()}
|
|
|
|
|
<LoadingSpinner />
|
|
|
|
|
{:then data}
|
|
|
|
|
<div>
|
2024-06-12 18:37:46 +02:00
|
|
|
<p>{$t('albums_count', { values: { count: data[albumCountType] } })}</p>
|
2024-06-03 20:35:17 -05:00
|
|
|
</div>
|
|
|
|
|
{/await}
|