fix(web): shared link return 404 (#3791)

This commit is contained in:
Alex 2023-08-22 07:22:49 +02:00 committed by GitHub
parent 71ea46d95e
commit d7f52739e8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 4 deletions

View file

@ -53,7 +53,9 @@
onMount(async () => { onMount(async () => {
document.addEventListener('keydown', onKeyboardPress); document.addEventListener('keydown', onKeyboardPress);
getAllAlbums(); if (!sharedLink) {
getAllAlbums();
}
// Import hack :( see https://github.com/vadimkorr/svelte-carousel/issues/27#issuecomment-851022295 // Import hack :( see https://github.com/vadimkorr/svelte-carousel/issues/27#issuecomment-851022295
// TODO: Move to regular import once the package correctly supports ESM. // TODO: Move to regular import once the package correctly supports ESM.
@ -67,7 +69,7 @@
} }
}); });
$: asset.id && getAllAlbums(); // Update the album information when the asset ID changes $: asset.id && !sharedLink && getAllAlbums(); // Update the album information when the asset ID changes
const getAllAlbums = async () => { const getAllAlbums = async () => {
try { try {
@ -336,6 +338,7 @@
<DetailPanel <DetailPanel
{asset} {asset}
albums={appearsInAlbums} albums={appearsInAlbums}
{sharedLink}
on:close={() => ($isShowDetail = false)} on:close={() => ($isShowDetail = false)}
on:close-viewer={handleCloseViewer} on:close-viewer={handleCloseViewer}
on:description-focus-in={disableKeyDownEvent} on:description-focus-in={disableKeyDownEvent}

View file

@ -9,19 +9,21 @@
import ImageOutline from 'svelte-material-icons/ImageOutline.svelte'; import ImageOutline from 'svelte-material-icons/ImageOutline.svelte';
import MapMarkerOutline from 'svelte-material-icons/MapMarkerOutline.svelte'; import MapMarkerOutline from 'svelte-material-icons/MapMarkerOutline.svelte';
import { createEventDispatcher } from 'svelte'; import { createEventDispatcher } from 'svelte';
import { AssetResponseDto, AlbumResponseDto, api, ThumbnailFormat } from '@api'; import { AssetResponseDto, AlbumResponseDto, api, ThumbnailFormat, SharedLinkResponseDto } from '@api';
import { asByteUnitString } from '../../utils/byte-units'; import { asByteUnitString } from '../../utils/byte-units';
import ImageThumbnail from '../assets/thumbnail/image-thumbnail.svelte'; import ImageThumbnail from '../assets/thumbnail/image-thumbnail.svelte';
import { getAssetFilename } from '$lib/utils/asset-utils'; import { getAssetFilename } from '$lib/utils/asset-utils';
export let asset: AssetResponseDto; export let asset: AssetResponseDto;
export let albums: AlbumResponseDto[] = []; export let albums: AlbumResponseDto[] = [];
export let sharedLink: SharedLinkResponseDto | undefined = undefined;
let textarea: HTMLTextAreaElement; let textarea: HTMLTextAreaElement;
let description: string; let description: string;
$: { $: {
// Get latest description from server // Get latest description from server
if (asset.id) { if (asset.id && !sharedLink) {
api.assetApi.getAssetById({ id: asset.id }).then((res) => { api.assetApi.getAssetById({ id: asset.id }).then((res) => {
people = res.data?.people || []; people = res.data?.people || [];
textarea.value = res.data?.exifInfo?.description || ''; textarea.value = res.data?.exifInfo?.description || '';