<UserControl x:Class="ClaudeDo.Installer.Pages.ServicePage.ServicePageView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:ClaudeDo.Installer.Pages.ServicePage"
             d:DataContext="{d:DesignInstance local:ServicePageViewModel}"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d">

    <ScrollViewer VerticalScrollBarVisibility="Auto">
        <StackPanel MaxWidth="520">
            <TextBlock Text="Worker Service" FontSize="18" FontWeight="SemiBold" Margin="0,0,0,4"/>
            <TextBlock Text="Configure the ClaudeDo Worker background service."
                       Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,20"
                       TextWrapping="Wrap"/>

            <Label Content="SignalR Port"/>
            <TextBox Text="{Binding SignalRPort, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,12"/>

            <Label Content="Queue Backstop Interval (ms)"/>
            <TextBox Text="{Binding QueueBackstopIntervalMs, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,12"/>

            <Label Content="Claude CLI Path"/>
            <Grid Margin="0,0,0,12">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>
                <TextBox Grid.Column="0" Text="{Binding ClaudeBin, UpdateSourceTrigger=PropertyChanged}"/>
                <Button Grid.Column="1" Content="Browse..." Command="{Binding BrowseClaudeCommand}"
                        Margin="8,0,0,0"/>
            </Grid>

            <Separator Margin="0,4,0,12"/>

            <Label Content="Service Account"/>
            <StackPanel Margin="0,0,0,12">
                <RadioButton Content="Local System (recommended)"
                             IsChecked="{Binding IsLocalSystem}" Margin="0,0,0,4"/>
                <RadioButton Content="Current User"
                             IsChecked="{Binding IsCurrentUser}"/>
                <TextBlock Text="Running as current user requires 'Log on as a service' privilege."
                           Foreground="{StaticResource TextDimBrush}" FontSize="11" Margin="20,2,0,0"
                           TextWrapping="Wrap"/>
            </StackPanel>

            <CheckBox Content="Start service automatically" IsChecked="{Binding AutoStart}" Margin="0,0,0,12"/>

            <Label Content="Restart Delay (ms)"/>
            <TextBox Text="{Binding RestartDelayMs, UpdateSourceTrigger=PropertyChanged}" Margin="0,0,0,12"/>

            <TextBlock Text="{Binding ValidationError}" Foreground="{StaticResource ErrorBrush}" FontSize="11"
                       Visibility="{Binding ValidationError, Converter={StaticResource NullToCollapsedConverter}}"/>
        </StackPanel>
    </ScrollViewer>
</UserControl>
