feat(ui): wire worker connection modal and make status pill clickable

This commit is contained in:
mika kuns
2026-06-01 12:18:28 +02:00
parent 00dc7ebccc
commit 1246bf7b88
2 changed files with 24 additions and 14 deletions

View File

@@ -186,20 +186,24 @@
BorderBrush="{DynamicResource LineBrush}" BorderBrush="{DynamicResource LineBrush}"
BorderThickness="0,1,0,0"> BorderThickness="0,1,0,0">
<DockPanel LastChildFill="True" Margin="14,0"> <DockPanel LastChildFill="True" Margin="14,0">
<!-- Left: connection pill --> <!-- Left: connection pill (click to open worker help) -->
<StackPanel DockPanel.Dock="Left" Orientation="Horizontal" Spacing="7" <Button DockPanel.Dock="Left"
VerticalAlignment="Center"> Command="{Binding OpenWorkerConnectionHelpCommand}"
<Ellipse Width="7" Height="7" Fill="{DynamicResource StatusRunningBrush}" Background="Transparent" BorderThickness="0" Padding="0"
IsVisible="{Binding Worker.IsConnected}"/> Cursor="Hand" VerticalAlignment="Center">
<Ellipse Width="7" Height="7" Fill="{DynamicResource StatusReviewBrush}" <StackPanel Orientation="Horizontal" Spacing="7" VerticalAlignment="Center">
IsVisible="{Binding Worker.IsReconnecting}"/> <Ellipse Width="7" Height="7" Fill="{DynamicResource StatusRunningBrush}"
<Ellipse Width="7" Height="7" Fill="{DynamicResource StatusErrorBrush}" IsVisible="{Binding Worker.IsConnected}"/>
IsVisible="{Binding IsOffline}"/> <Ellipse Width="7" Height="7" Fill="{DynamicResource StatusReviewBrush}"
<TextBlock Classes="eyebrow" IsVisible="{Binding Worker.IsReconnecting}"/>
Text="{Binding ConnectionText, Converter={StaticResource UpperCase}}" <Ellipse Width="7" Height="7" Fill="{DynamicResource StatusErrorBrush}"
LetterSpacing="1.4" IsVisible="{Binding IsOffline}"/>
VerticalAlignment="Center"/> <TextBlock Classes="eyebrow"
</StackPanel> Text="{Binding ConnectionText, Converter={StaticResource UpperCase}}"
LetterSpacing="1.4"
VerticalAlignment="Center"/>
</StackPanel>
</Button>
<!-- Right: worker log line --> <!-- Right: worker log line -->
<TextBlock DockPanel.Dock="Right" <TextBlock DockPanel.Dock="Right"

View File

@@ -68,6 +68,12 @@ public partial class MainWindow : Window
modal.CloseAction = () => dlg.Close(); modal.CloseAction = () => dlg.Close();
await dlg.ShowDialog(this); await dlg.ShowDialog(this);
}; };
vm.ShowWorkerConnectionModal = async (connVm) =>
{
var dlg = new WorkerConnectionModalView { DataContext = connVm };
connVm.CloseAction = () => dlg.Close();
await dlg.ShowDialog(this);
};
} }
} }