summaryrefslogtreecommitdiffhomepage
path: root/src/features/layout/ui/TileStack.svelte
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-09-05 17:49:57 +0900
committerAdam Malczewski <[email protected]>2026-09-05 17:49:57 +0900
commite3d5f3df3577f91b933d7ad51a339dbb05ba53dd (patch)
tree53f8583b7a2e245944ef8d21c8bd6174c3a88663 /src/features/layout/ui/TileStack.svelte
parent254f90a4081a3f15dfe54277da922579dbaee254 (diff)
downloaddispatch-web-e3d5f3df3577f91b933d7ad51a339dbb05ba53dd.tar.gz
dispatch-web-e3d5f3df3577f91b933d7ad51a339dbb05ba53dd.zip
fix(layout): keep chat transcript region full-height when empty (composer pinned to bottom)
Diffstat (limited to 'src/features/layout/ui/TileStack.svelte')
-rw-r--r--src/features/layout/ui/TileStack.svelte8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/features/layout/ui/TileStack.svelte b/src/features/layout/ui/TileStack.svelte
index 13dab09..ac7091a 100644
--- a/src/features/layout/ui/TileStack.svelte
+++ b/src/features/layout/ui/TileStack.svelte
@@ -3,6 +3,12 @@
* A plain vertical container (today's left column). `grow` children flex
* (`flex: grow 1 0%` — the chat region scrolls internally, exactly like
* today's `flex-1`); children without grow take natural height.
+ *
+ * `h-full` keeps the container's main size DEFINITE (the parent is the
+ * split-child wrapper, cross-stretched to the full-height split row). With
+ * an indefinite height, `flex: 1 1 0%` degenerates to content sizing — an
+ * EMPTY grow child collapses to ~0 and the siblings below it (composer)
+ * ride to the top instead of staying pinned at the bottom.
*/
import type { LayoutOp, Path, StackNode } from "@dispatch/layout-contract";
import type { CollapseStore } from "../logic/collapse";
@@ -23,7 +29,7 @@
} = $props();
</script>
-<div class="flex min-h-0 min-w-0 flex-col overflow-hidden">
+<div class="flex h-full min-h-0 min-w-0 flex-col overflow-hidden">
{#each node.children as child, i (i)}
<div class="min-h-0 min-w-0" style={"flex: " + (child.grow ?? 0) + (child.grow === undefined ? " 0 auto" : " 1 0%")}>
<TileNode node={child.node} path={[...path, i]} {ports} {collapse} {onEdit} />