feat(web): add geolocation utility (#20758)

* feat(geolocation):  add geolocation utility

* feat(web): geolocation utility - fix code review - 1

* feat(web): geolocation utility - fix code review - 2

* chore: cleanup

* chore: feedback

* feat(web): add animation and text

animation on locations change and action text on thumbnail

* styling, messages and filtering

* selected color

* format i18n

* fix lint

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
Johann 2025-08-28 18:54:11 +02:00 committed by GitHub
parent 80fa5ec198
commit 662d44536e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 733 additions and 49 deletions

View file

@ -16,18 +16,22 @@
let isShowChangeLocation = $state(false);
async function handleConfirmChangeLocation(gps: { lng: number; lat: number }) {
const onClose = async (point?: { lng: number; lat: number }) => {
isShowChangeLocation = false;
if (!point) {
return;
}
try {
asset = await updateAsset({
id: asset.id,
updateAssetDto: { latitude: gps.lat, longitude: gps.lng },
updateAssetDto: { latitude: point.lat, longitude: point.lng },
});
} catch (error) {
handleError(error, $t('errors.unable_to_change_location'));
}
}
};
</script>
{#if asset.exifInfo?.country}
@ -85,6 +89,6 @@
{#if isShowChangeLocation}
<Portal>
<ChangeLocation {asset} onConfirm={handleConfirmChangeLocation} onCancel={() => (isShowChangeLocation = false)} />
<ChangeLocation {asset} {onClose} />
</Portal>
{/if}