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,25 +577,22 @@
</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"
> >
<DetailPanel {asset} currentAlbum={album} albums={appearsInAlbums} /> {#if showDetailPanel}
</div> <div class="w-90 h-full">
{/if} <DetailPanel {asset} currentAlbum={album} albums={appearsInAlbums} />
</div>
{#if assetViewerManager.isShowEditor} {:else if assetViewerManager.isShowEditor}
<div <div class="w-100 h-full">
transition:fly={{ duration: 150 }} <EditorPanel {asset} onClose={closeEditor} />
id="editor-panel" </div>
class="row-start-1 row-span-4 w-100 overflow-y-auto transition-all dark:border-l dark:border-s-immich-dark-gray" {/if}
translate="yes"
>
<EditorPanel {asset} onClose={closeEditor} />
</div> </div>
{/if} {/if}