fix(web): prevent side panel overlap during transition (#26398)

This commit is contained in:
Michel Heusschen
2026-02-21 16:14:53 +01:00
committed by GitHub
parent 25d0bdc9f5
commit a4d95b7aba

View File

@@ -432,6 +432,12 @@
); );
const { Tag } = $derived(getAssetActions($t, asset)); const { Tag } = $derived(getAssetActions($t, asset));
const showDetailPanel = $derived(
asset.hasMetadata &&
$slideshowState === SlideshowState.None &&
assetViewerManager.isShowDetailPanel &&
!assetViewerManager.isShowEditor,
);
</script> </script>
<CommandPaletteDefaultProvider name={$t('assets')} actions={[Tag]} /> <CommandPaletteDefaultProvider name={$t('assets')} actions={[Tag]} />
@@ -571,27 +577,24 @@
</div> </div>
{/if} {/if}
{#if asset.hasMetadata && $slideshowState === SlideshowState.None && assetViewerManager.isShowDetailPanel && !assetViewerManager.isShowEditor} {#if showDetailPanel || assetViewerManager.isShowEditor}
<div <div
transition:fly={{ duration: 150 }} transition:fly={{ duration: 150 }}
id="detail-panel" id="detail-panel"
class="row-start-1 row-span-4 w-90 overflow-y-auto transition-all dark:border-l dark:border-s-immich-dark-gray bg-light" class="row-start-1 row-span-4 overflow-y-auto transition-all dark:border-l dark:border-s-immich-dark-gray bg-light"
translate="yes" translate="yes"
> >
{#if showDetailPanel}
<div class="w-90 h-full">
<DetailPanel {asset} currentAlbum={album} albums={appearsInAlbums} /> <DetailPanel {asset} currentAlbum={album} albums={appearsInAlbums} />
</div> </div>
{/if} {:else if assetViewerManager.isShowEditor}
<div class="w-100 h-full">
{#if assetViewerManager.isShowEditor}
<div
transition:fly={{ duration: 150 }}
id="editor-panel"
class="row-start-1 row-span-4 w-100 overflow-y-auto transition-all dark:border-l dark:border-s-immich-dark-gray"
translate="yes"
>
<EditorPanel {asset} onClose={closeEditor} /> <EditorPanel {asset} onClose={closeEditor} />
</div> </div>
{/if} {/if}
</div>
{/if}
{#if stack && withStacked && !assetViewerManager.isShowEditor} {#if stack && withStacked && !assetViewerManager.isShowEditor}
{@const stackedAssets = stack.assets} {@const stackedAssets = stack.assets}