fix(ui): align island header separators via shared header height

This commit is contained in:
mika kuns
2026-10-01 16:07:05 +02:00
parent a76788a5b9
commit 34c71bbe02
4 changed files with 93 additions and 84 deletions
@@ -12,10 +12,12 @@
<DockPanel> <DockPanel>
<!-- ── Header (sticky top): id · title · trash/skull · gear — task detail only ── --> <!-- ── Header (sticky top): id · title · trash/skull · gear — task detail only ── -->
<Border DockPanel.Dock="Top" Classes="island-header" <Grid DockPanel.Dock="Top" IsVisible="{Binding IsTaskDetailVisible}">
IsVisible="{Binding IsTaskDetailVisible}"> <Grid.RowDefinitions><RowDefinition Height="Auto" SharedSizeGroup="IslandHeader"/></Grid.RowDefinitions>
<Border Classes="island-header">
<detail:TaskHeaderBar/> <detail:TaskHeaderBar/>
</Border> </Border>
</Grid>
<!-- ── Body: task details (normal), notes editor (notes mode), or prep log (prep mode) ── --> <!-- ── Body: task details (normal), notes editor (notes mode), or prep log (prep mode) ── -->
<Grid> <Grid>
@@ -183,7 +183,9 @@
<DockPanel LastChildFill="True"> <DockPanel LastChildFill="True">
<!-- ── Header ── --> <!-- ── Header ── -->
<Border DockPanel.Dock="Top" Classes="island-header"> <Grid DockPanel.Dock="Top">
<Grid.RowDefinitions><RowDefinition Height="Auto" SharedSizeGroup="IslandHeader"/></Grid.RowDefinitions>
<Border Classes="island-header">
<StackPanel Spacing="4"> <StackPanel Spacing="4">
<TextBlock Classes="heading" Text="{loc:Tr lists.heading}"/> <TextBlock Classes="heading" Text="{loc:Tr lists.heading}"/>
@@ -204,6 +206,7 @@
</Border> </Border>
</StackPanel> </StackPanel>
</Border> </Border>
</Grid>
<!-- ── No-repo banner — visible until any User list has a linked working dir; no <!-- ── No-repo banner — visible until any User list has a linked working dir; no
dismiss, no persisted state, comes back if the last repo link is removed. ── --> dismiss, no persisted state, comes back if the last repo link is removed. ── -->
@@ -10,7 +10,9 @@
<DockPanel LastChildFill="True"> <DockPanel LastChildFill="True">
<!-- Header --> <!-- Header -->
<Border DockPanel.Dock="Top" Classes="island-header"> <Grid DockPanel.Dock="Top">
<Grid.RowDefinitions><RowDefinition Height="Auto" SharedSizeGroup="IslandHeader"/></Grid.RowDefinitions>
<Border Classes="island-header">
<Grid ColumnDefinitions="*,Auto"> <Grid ColumnDefinitions="*,Auto">
<StackPanel Grid.Column="0" Spacing="4"> <StackPanel Grid.Column="0" Spacing="4">
<TextBlock Classes="eyebrow" Text="{Binding HeaderEyebrow}"/> <TextBlock Classes="eyebrow" Text="{Binding HeaderEyebrow}"/>
@@ -68,6 +70,7 @@
</StackPanel> </StackPanel>
</Grid> </Grid>
</Border> </Border>
</Grid>
<!-- Add-task row --> <!-- Add-task row -->
<Border DockPanel.Dock="Top" Classes="add-task" Margin="16,14,16,8" <Border DockPanel.Dock="Top" Classes="add-task" Margin="16,14,16,8"
+2 -1
View File
@@ -142,7 +142,8 @@
</Border> </Border>
<!-- Three islands (user-resizable) --> <!-- Three islands (user-resizable) -->
<Grid Grid.Row="1" Margin="7"> <!-- Shared-size scope: the island headers share one height so their separators line up -->
<Grid Grid.Row="1" Margin="7" Grid.IsSharedSizeScope="True">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="260" MinWidth="200"/> <ColumnDefinition Width="260" MinWidth="200"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>