<Page x:Class="XFEEDToolBox.Views.EngineeringPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:live="using:XFEEDToolBox.Core.Presentation" xmlns:eng="using:XFEEDToolBox.Core.Engineering" xmlns:fit="using:XFEEDToolBox.Core.Outfitting" xmlns:vm="using:XFEEDToolBox.ViewModels" xmlns:controls="using:XFEEDToolBox.Controls">
 <Grid RowSpacing="16" Padding="0,8,0,0"><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="*"/></Grid.RowDefinitions>
  <StackPanel Spacing="6"><TextBlock Text="MODULE ENGINEERING" Style="{StaticResource Eyebrow}"/><TextBlock Text="模块改装" Style="{StaticResource PageTitle}"/><TextBlock Text="按模块类型与蓝图规划；点击＋加入右上角清单，统一核对实时材料和购买预算。" Style="{StaticResource MutedText}"/></StackPanel>
  <Pivot Grid.Row="1"><PivotItem Header="改装目录"><ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" HorizontalContentAlignment="Stretch">
   <Grid x:Name="CatalogueLayout" ColumnSpacing="16" RowSpacing="16" Padding="0,8,8,24"><Grid.ColumnDefinitions><ColumnDefinition x:Name="TypesColumn" Width="220"/><ColumnDefinition Width="1.1*"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/></Grid.RowDefinitions>
    <Border x:Name="TypesPanel" Style="{StaticResource CardStyle}" Padding="16" VerticalAlignment="Top"><StackPanel Spacing="12"><TextBlock Text="模块类型" Style="{StaticResource SectionTitle}"/><ListView ItemsSource="{x:Bind ViewModel.EngineeringTypes}" SelectedItem="{x:Bind ViewModel.EngineeringType,Mode=TwoWay}" ItemTemplate="{StaticResource GameNameTemplate}" Height="470" HorizontalContentAlignment="Stretch"/></StackPanel></Border>
    <StackPanel x:Name="EditorPanel" Grid.Column="1" Spacing="16">
     <Border Style="{StaticResource CardStyle}"><StackPanel Spacing="12"><TextBlock Text="模块与进度基线" Style="{StaticResource SectionTitle}"/>
      <ComboBox IsEnabled="{x:Bind ViewModel.EngineeringNewModule,Mode=OneWay}" Header="模块规格" ItemsSource="{x:Bind ViewModel.EngineeringVariants,Mode=OneWay}" SelectedItem="{x:Bind ViewModel.EngineeringVariant,Mode=TwoWay}" HorizontalAlignment="Stretch"><ComboBox.ItemTemplate><DataTemplate x:DataType="fit:ModuleDefinition"><controls:BilingualText Text="{x:Bind Display}" Original="{x:Bind OriginalName}"/></DataTemplate></ComboBox.ItemTemplate></ComboBox>
      <ComboBox Header="起始进度" ItemsSource="{x:Bind ViewModel.EngineeringSources,Mode=OneWay}" SelectedItem="{x:Bind ViewModel.EngineeringSource,Mode=TwoWay}" HorizontalAlignment="Stretch"><ComboBox.ItemTemplate><DataTemplate x:DataType="vm:EngineeringSourceChoice"><StackPanel Spacing="4"><controls:BilingualText Text="{x:Bind Name}" Original="{x:Bind OriginalName}"/><TextBlock Text="{x:Bind Detail}" Style="{StaticResource MutedText}" FontSize="11" MaxWidth="400"/></StackPanel></DataTemplate></ComboBox.ItemTemplate></ComboBox>
      <Grid ColumnSpacing="16"><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions>
       <StackPanel Spacing="5"><Grid Width="78" Height="78" AutomationProperties.Name="当前改装完成度，只读"><ProgressRing x:Name="CurrentEngineeringProgress" IsIndeterminate="False" IsActive="True" Minimum="0" Maximum="100" Value="{x:Bind ViewModel.EngineeringCurrentProgress,Mode=OneWay}" Width="78" Height="78" IsHitTestVisible="False" Foreground="{StaticResource TealBrush}"/><TextBlock Text="{x:Bind ViewModel.EngineeringCurrentProgressText,Mode=OneWay}" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="16" FontWeight="SemiBold"/></Grid><TextBlock Text="当前完成度" FontSize="10" HorizontalAlignment="Center" Foreground="{StaticResource MutedBrush}"/></StackPanel>
       <TextBlock Grid.Column="1" Text="{x:Bind ViewModel.EngineeringCurrent,Mode=OneWay}" Style="{StaticResource MutedText}" FontSize="12" VerticalAlignment="Center"/>
      </Grid>
     </StackPanel></Border>
     <Border Style="{StaticResource CardStyle}"><StackPanel Spacing="13"><TextBlock Text="改装类型与目标" Style="{StaticResource SectionTitle}"/>
      <ListView Header="改装蓝图" ItemsSource="{x:Bind ViewModel.EngineeringBlueprints,Mode=OneWay}" SelectedItem="{x:Bind ViewModel.EngineeringBlueprint,Mode=TwoWay}" ItemTemplate="{StaticResource GameNameTemplate}" MaxHeight="220" HorizontalContentAlignment="Stretch"/>
      <StackPanel Spacing="4"><Grid><TextBlock Text="目标等级"/><TextBlock Text="{x:Bind ViewModel.EngineeringGrade,Mode=OneWay}" HorizontalAlignment="Right" Foreground="{StaticResource AccentBrush}"/></Grid><Slider Style="{StaticResource GradeSlider}" Value="{x:Bind ViewModel.EngineeringGrade,Mode=TwoWay}"/><Grid><TextBlock Text="G1" Style="{StaticResource MutedText}" FontSize="11"/><TextBlock Text="G5" HorizontalAlignment="Right" Style="{StaticResource MutedText}" FontSize="11"/></Grid></StackPanel>
      <Grid ColumnSpacing="12"><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="95"/></Grid.ColumnDefinitions><Slider Header="目标完成度 %" Minimum="1" Maximum="100" StepFrequency="1" Value="{x:Bind ViewModel.EngineeringQuality,Mode=TwoWay}"/><NumberBox Grid.Column="1" Header="精确值 %" Minimum="1" Maximum="100" Value="{x:Bind ViewModel.EngineeringQuality,Mode=TwoWay}"/></Grid>
      <ComboBox Header="实验效果" ItemsSource="{x:Bind ViewModel.ExperimentalEffects,Mode=OneWay}" SelectedItem="{x:Bind ViewModel.EngineeringEffect,Mode=TwoWay}" HorizontalAlignment="Stretch"><ComboBox.ItemTemplate><DataTemplate x:DataType="vm:EngineeringEffectChoice"><controls:BilingualText Text="{x:Bind DisplayName}" Original="{x:Bind OriginalName}"/></DataTemplate></ComboBox.ItemTemplate></ComboBox>
      <ComboBox Header="工程师 / 当前权限" ItemsSource="{x:Bind ViewModel.CompatibleEngineers,Mode=OneWay}" SelectedItem="{x:Bind ViewModel.EngineeringEngineer,Mode=TwoWay}" HorizontalAlignment="Stretch"><ComboBox.ItemTemplate><DataTemplate x:DataType="live:EngineerLiveRow"><StackPanel Spacing="4"><controls:BilingualText Text="{x:Bind DisplayName,Mode=OneWay}" Original="{x:Bind OriginalName,Mode=OneWay}"/><TextBlock Text="{x:Bind Status,Mode=OneWay}" Style="{StaticResource MutedText}" FontSize="11"/></StackPanel></DataTemplate></ComboBox.ItemTemplate></ComboBox>
      <ToggleSwitch Header="中间等级 80% 即升阶" IsOn="{x:Bind ViewModel.EngineeringFastAdvance,Mode=TwoWay}"/><ToggleSwitch Header="远程工坊（不增加声望）" IsOn="{x:Bind ViewModel.EngineeringRemote,Mode=TwoWay}"/>
      <controls:BilingualText Text="{x:Bind ViewModel.EngineeringTargetEffects,Mode=OneWay}" Original="{x:Bind ViewModel.EngineeringTargetEffectsOriginal,Mode=OneWay}"/>
     </StackPanel></Border>
    </StackPanel>
    <StackPanel x:Name="BudgetPanel" Grid.Column="2" Spacing="16">
     <Border Style="{StaticResource DashboardCard}"><StackPanel Spacing="13"><TextBlock Text="加入全局清单" Style="{StaticResource SectionTitle}"/><NumberBox Header="模块数量（已有模块为 1）" Minimum="1" Maximum="100" SmallChange="1" Value="{x:Bind ViewModel.EngineeringCount,Mode=TwoWay}" SpinButtonPlacementMode="Inline"/><ToggleSwitch Header="计入模块购买预算" IsOn="{x:Bind ViewModel.EngineeringPurchase,Mode=TwoWay}"/><Expander Header="模块购买报价" IsExpanded="{x:Bind ViewModel.EngineeringPurchase,Mode=OneWay}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"><StackPanel Spacing="10"><ToggleSwitch Header="已知单件价格" IsOn="{x:Bind ViewModel.EngineeringPriceKnown,Mode=TwoWay}"/><NumberBox Header="单件报价 / Cr" Minimum="0" Maximum="1000000000000" Value="{x:Bind ViewModel.EngineeringUnitPrice,Mode=TwoWay}" IsEnabled="{x:Bind ViewModel.EngineeringPriceKnown,Mode=OneWay}"/><TextBlock Text="{x:Bind ViewModel.EngineeringPriceSource,Mode=OneWay}" Style="{StaticResource MutedText}" FontSize="11"/><TextBlock Text="未填写价格的购买项标为待报价，缺口不会假定为零。" Style="{StaticResource MutedText}" FontSize="11"/></StackPanel></Expander><Button controls:AsyncAction.Command="{x:Bind ViewModel.AddEngineeringToListCommand}" Style="{StaticResource PrimaryButton}" HorizontalAlignment="Stretch"><StackPanel Orientation="Horizontal" Spacing="9"><SymbolIcon Symbol="Add"/><TextBlock Text="加入全局清单"/></StackPanel></Button><Button Content="计算单件材料与逐次声望" controls:AsyncAction.Command="{x:Bind ViewModel.CalculateEngineeringCommand}" HorizontalAlignment="Stretch"/></StackPanel></Border>
     <Border Style="{StaticResource CardStyle}"><StackPanel Spacing="12"><TextBlock Text="单件需求与缺口" Style="{StaticResource SectionTitle}"/><ProgressRing IsActive="{x:Bind ViewModel.EngineeringBusy,Mode=OneWay}" Width="24" Height="24" HorizontalAlignment="Left"/><TextBlock Text="{x:Bind ViewModel.EngineeringResult,Mode=OneWay}" Foreground="{StaticResource TealBrush}" TextWrapping="Wrap"/><ItemsControl ItemsSource="{x:Bind ViewModel.EngineeringNeeds,Mode=OneWay}"><ItemsControl.ItemTemplate><DataTemplate x:DataType="eng:MaterialNeed"><Grid ColumnSpacing="10" Margin="0,0,0,12"><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><controls:MaterialIcon Category="{x:Bind Category}"/><StackPanel Grid.Column="1" Spacing="4"><TextBlock Text="{x:Bind Name}" TextWrapping="Wrap"/><TextBlock Text="{x:Bind Detail}" Style="{StaticResource MutedText}" FontSize="11"/></StackPanel></Grid></DataTemplate></ItemsControl.ItemTemplate></ItemsControl></StackPanel></Border>
     <Expander Header="逐次改装与声望" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"><StackPanel Spacing="12"><ItemsControl ItemsSource="{x:Bind ViewModel.EngineeringRolls,Mode=OneWay}"><ItemsControl.ItemTemplate><DataTemplate x:DataType="eng:EngineeringRoll"><StackPanel Spacing="4" Margin="0,0,0,12"><TextBlock Text="{x:Bind Display}" TextWrapping="Wrap"/><TextBlock Text="{x:Bind Reputation}" Style="{StaticResource MutedText}" FontSize="11"/></StackPanel></DataTemplate></ItemsControl.ItemTemplate></ItemsControl><TextBlock Text="{x:Bind ViewModel.EngineeringNotes,Mode=OneWay}" Style="{StaticResource MutedText}" FontSize="11"/></StackPanel></Expander>
    </StackPanel>
   </Grid></ScrollViewer></PivotItem>
   <PivotItem Header="工程师权限"><Grid RowSpacing="14" Padding="0,8,0,12"><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="*"/></Grid.RowDefinitions><TextBlock Text="{x:Bind ViewModel.EngineerSummary,Mode=OneWay}" Style="{StaticResource MutedText}"/><ListView Grid.Row="1" ItemsSource="{x:Bind ViewModel.EngineerAccessList,Mode=OneWay}" SelectionMode="None" HorizontalContentAlignment="Stretch"><ListView.ItemTemplate><DataTemplate x:DataType="live:EngineerLiveRow"><Grid Padding="12,14" ColumnSpacing="20"><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="1.3*"/></Grid.ColumnDefinitions><controls:BilingualText Text="{x:Bind DisplayName,Mode=OneWay}" Original="{x:Bind OriginalName,Mode=OneWay}"/><StackPanel Grid.Column="1" Spacing="8"><TextBlock Text="{x:Bind Status,Mode=OneWay}" Style="{StaticResource MutedText}"/><ProgressBar Value="{x:Bind RankPercent,Mode=OneWay}" Visibility="{x:Bind HasRankProgress,Mode=OneWay,Converter={StaticResource BoolVisibility}}"/></StackPanel></Grid></DataTemplate></ListView.ItemTemplate></ListView></Grid></PivotItem>
  </Pivot>
 </Grid>
</Page>
