mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
fix(web): geolocation utility start year
This commit is contained in:
parent
27bc8eba7b
commit
3f82cd45d0
2 changed files with 25 additions and 3 deletions
|
|
@ -6,16 +6,17 @@
|
|||
onDateChange: (year?: number, month?: number, day?: number) => Promise<void>;
|
||||
onClearFilters?: () => void;
|
||||
defaultDate?: string;
|
||||
startYear: number;
|
||||
}
|
||||
|
||||
let { onDateChange, onClearFilters, defaultDate }: Props = $props();
|
||||
let { onDateChange, onClearFilters, defaultDate, startYear }: Props = $props();
|
||||
|
||||
let selectedYear = $state<number | undefined>(undefined);
|
||||
let selectedMonth = $state<number | undefined>(undefined);
|
||||
let selectedDay = $state<number | undefined>(undefined);
|
||||
|
||||
const currentYear = new Date().getFullYear();
|
||||
const yearOptions = Array.from({ length: 30 }, (_, i) => currentYear - i);
|
||||
let yearOptions = $derived(Array.from({ length: currentYear - startYear + 1 }, (_, i) => currentYear - i));
|
||||
|
||||
const monthOptions = Array.from({ length: 12 }, (_, i) => ({
|
||||
value: i + 1,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
import { setQueryValue } from '$lib/utils/navigation';
|
||||
import { buildDateString } from '$lib/utils/string-utils';
|
||||
import { toTimelineAsset } from '$lib/utils/timeline-util';
|
||||
import { searchAssets, updateAssets, type AssetResponseDto } from '@immich/sdk';
|
||||
import { AssetOrder, searchAssets, updateAssets, type AssetResponseDto } from '@immich/sdk';
|
||||
import { Button, LoadingSpinner, modalManager, Text } from '@immich/ui';
|
||||
import {
|
||||
mdiMapMarkerMultipleOutline,
|
||||
|
|
@ -32,6 +32,7 @@
|
|||
let partialDate = $state<string | null>(data.partialDate);
|
||||
let isLoading = $state(false);
|
||||
let assets = $state<AssetResponseDto[]>([]);
|
||||
let startYear = $state(2000);
|
||||
let shiftKeyIsDown = $state(false);
|
||||
let assetInteraction = new AssetInteraction();
|
||||
let location = $state<{ latitude: number; longitude: number }>({ latitude: 0, longitude: 0 });
|
||||
|
|
@ -64,6 +65,25 @@
|
|||
}
|
||||
}
|
||||
|
||||
const getEarliestAsset = async () => {
|
||||
const earliest = await searchAssets({
|
||||
metadataSearchDto: {
|
||||
withExif: true,
|
||||
size: 1,
|
||||
order: AssetOrder.Asc,
|
||||
},
|
||||
});
|
||||
|
||||
const asset = earliest.assets.items[0];
|
||||
if (!asset) {
|
||||
return;
|
||||
}
|
||||
|
||||
startYear = new Date(asset.localDateTime).getFullYear();
|
||||
};
|
||||
|
||||
void getEarliestAsset();
|
||||
|
||||
const loadAssets = async () => {
|
||||
if (takenRange) {
|
||||
isLoading = true;
|
||||
|
|
@ -262,6 +282,7 @@
|
|||
onDateChange={handleDateChange}
|
||||
onClearFilters={handleClearFilters}
|
||||
defaultDate={partialDate || undefined}
|
||||
{startYear}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue