Polish premium UI pass
This commit is contained in:
@@ -13,23 +13,29 @@
|
||||
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
|
||||
<!-- Other merged dictionaries here -->
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<SolidColorBrush x:Key="AppBackgroundBrush" Color="#0A0D12" />
|
||||
<SolidColorBrush x:Key="AppChromeBrush" Color="#111827" />
|
||||
<SolidColorBrush x:Key="PanelBrush" Color="#151A22" />
|
||||
<SolidColorBrush x:Key="PanelAltBrush" Color="#1E2631" />
|
||||
<SolidColorBrush x:Key="PanelStrokeBrush" Color="#303946" />
|
||||
<SolidColorBrush x:Key="TextPrimaryBrush" Color="#F6F8FB" />
|
||||
<SolidColorBrush x:Key="TextSecondaryBrush" Color="#C2CAD6" />
|
||||
<SolidColorBrush x:Key="TextMutedBrush" Color="#8290A3" />
|
||||
<SolidColorBrush x:Key="AccentCyanBrush" Color="#45D6D1" />
|
||||
<SolidColorBrush x:Key="AccentGreenBrush" Color="#37D67A" />
|
||||
<SolidColorBrush x:Key="AccentAmberBrush" Color="#FFB547" />
|
||||
<SolidColorBrush x:Key="AccentRedBrush" Color="#FF5B61" />
|
||||
<SolidColorBrush x:Key="AccentVioletBrush" Color="#B48CFF" />
|
||||
<SolidColorBrush x:Key="AppBackgroundBrush" Color="#08070B" />
|
||||
<SolidColorBrush x:Key="AppChromeBrush" Color="#0E0B13" />
|
||||
<SolidColorBrush x:Key="PanelBrush" Color="#141019" />
|
||||
<SolidColorBrush x:Key="PanelAltBrush" Color="#1C1723" />
|
||||
<SolidColorBrush x:Key="PanelElevatedBrush" Color="#211B29" />
|
||||
<SolidColorBrush x:Key="PanelStrokeBrush" Color="#34293F" />
|
||||
<SolidColorBrush x:Key="PanelSoftStrokeBrush" Color="#241E2D" />
|
||||
<SolidColorBrush x:Key="TextPrimaryBrush" Color="#F8F5EE" />
|
||||
<SolidColorBrush x:Key="TextSecondaryBrush" Color="#D6D0C8" />
|
||||
<SolidColorBrush x:Key="TextMutedBrush" Color="#9B92A8" />
|
||||
<SolidColorBrush x:Key="AccentCyanBrush" Color="#5FD7D3" />
|
||||
<SolidColorBrush x:Key="AccentGreenBrush" Color="#C8FF17" />
|
||||
<SolidColorBrush x:Key="AccentAmberBrush" Color="#D9B76E" />
|
||||
<SolidColorBrush x:Key="AccentRedBrush" Color="#FF626E" />
|
||||
<SolidColorBrush x:Key="AccentVioletBrush" Color="#7B2CBF" />
|
||||
<SolidColorBrush x:Key="AccentRoseBrush" Color="#F04C8B" />
|
||||
<SolidColorBrush x:Key="LoginSurfaceBrush" Color="#F7F5EE" />
|
||||
<SolidColorBrush x:Key="LoginTextBrush" Color="#17101F" />
|
||||
<SolidColorBrush x:Key="LoginMutedBrush" Color="#6C6474" />
|
||||
|
||||
<Style x:Key="PageTitleTextStyle" TargetType="TextBlock">
|
||||
<Setter Property="FontFamily" Value="Bahnschrift SemiBold" />
|
||||
<Setter Property="FontSize" Value="30" />
|
||||
<Setter Property="FontSize" Value="32" />
|
||||
<Setter Property="Foreground" Value="{StaticResource TextPrimaryBrush}" />
|
||||
</Style>
|
||||
|
||||
@@ -59,22 +65,25 @@
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ActionButtonStyle" TargetType="Button">
|
||||
<Setter Property="Padding" Value="12,8" />
|
||||
<Setter Property="CornerRadius" Value="8" />
|
||||
<Setter Property="MinHeight" Value="42" />
|
||||
<Setter Property="Padding" Value="15,8" />
|
||||
<Setter Property="CornerRadius" Value="7" />
|
||||
<Setter Property="FontFamily" Value="Bahnschrift SemiBold" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="PrimaryActionButtonStyle"
|
||||
TargetType="Button"
|
||||
BasedOn="{StaticResource ActionButtonStyle}">
|
||||
<Setter Property="Background" Value="{StaticResource AccentCyanBrush}" />
|
||||
<Setter Property="Foreground" Value="#051012" />
|
||||
<Setter Property="Background" Value="{StaticResource AccentVioletBrush}" />
|
||||
<Setter Property="BorderBrush" Value="#77C8FF17" />
|
||||
<Setter Property="Foreground" Value="{StaticResource TextPrimaryBrush}" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="GhostActionButtonStyle"
|
||||
TargetType="Button"
|
||||
BasedOn="{StaticResource ActionButtonStyle}">
|
||||
<Setter Property="Background" Value="{StaticResource PanelAltBrush}" />
|
||||
<Setter Property="Background" Value="{StaticResource PanelElevatedBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource PanelStrokeBrush}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource TextPrimaryBrush}" />
|
||||
</Style>
|
||||
|
||||
@@ -2,6 +2,7 @@ using Microsoft.UI.Windowing;
|
||||
using System;
|
||||
using System.IO;
|
||||
using WinRT.Interop;
|
||||
using Windows.UI;
|
||||
|
||||
namespace TornadoAce_CJOnStyle
|
||||
{
|
||||
@@ -33,7 +34,7 @@ namespace TornadoAce_CJOnStyle
|
||||
Title = "TornadoAce CJ OnStyle CG Automation"
|
||||
};
|
||||
|
||||
ApplyWindowIcon(window);
|
||||
ApplyWindowChrome(window);
|
||||
|
||||
if (window.Content is not Frame rootFrame)
|
||||
{
|
||||
@@ -46,14 +47,8 @@ namespace TornadoAce_CJOnStyle
|
||||
window.Activate();
|
||||
}
|
||||
|
||||
private static void ApplyWindowIcon(Window targetWindow)
|
||||
private static void ApplyWindowChrome(Window targetWindow)
|
||||
{
|
||||
var iconPath = Path.Combine(AppContext.BaseDirectory, "Assets", "AppIcon.ico");
|
||||
if (!File.Exists(iconPath))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var windowHandle = WindowNative.GetWindowHandle(targetWindow);
|
||||
if (windowHandle == IntPtr.Zero)
|
||||
{
|
||||
@@ -61,7 +56,35 @@ namespace TornadoAce_CJOnStyle
|
||||
}
|
||||
|
||||
var windowId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(windowHandle);
|
||||
AppWindow.GetFromWindowId(windowId)?.SetIcon(iconPath);
|
||||
var appWindow = AppWindow.GetFromWindowId(windowId);
|
||||
if (appWindow is null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var iconPath = Path.Combine(AppContext.BaseDirectory, "Assets", "AppIcon.ico");
|
||||
if (File.Exists(iconPath))
|
||||
{
|
||||
appWindow.SetIcon(iconPath);
|
||||
}
|
||||
|
||||
ApplyTitleBarColors(appWindow.TitleBar);
|
||||
}
|
||||
|
||||
private static void ApplyTitleBarColors(AppWindowTitleBar titleBar)
|
||||
{
|
||||
titleBar.BackgroundColor = Color.FromArgb(255, 8, 7, 11);
|
||||
titleBar.ForegroundColor = Color.FromArgb(255, 248, 245, 238);
|
||||
titleBar.InactiveBackgroundColor = Color.FromArgb(255, 14, 11, 19);
|
||||
titleBar.InactiveForegroundColor = Color.FromArgb(255, 155, 146, 168);
|
||||
titleBar.ButtonBackgroundColor = Color.FromArgb(255, 8, 7, 11);
|
||||
titleBar.ButtonForegroundColor = Color.FromArgb(255, 248, 245, 238);
|
||||
titleBar.ButtonHoverBackgroundColor = Color.FromArgb(255, 33, 27, 41);
|
||||
titleBar.ButtonHoverForegroundColor = Color.FromArgb(255, 248, 245, 238);
|
||||
titleBar.ButtonPressedBackgroundColor = Color.FromArgb(255, 52, 41, 63);
|
||||
titleBar.ButtonPressedForegroundColor = Color.FromArgb(255, 200, 255, 23);
|
||||
titleBar.ButtonInactiveBackgroundColor = Color.FromArgb(255, 14, 11, 19);
|
||||
titleBar.ButtonInactiveForegroundColor = Color.FromArgb(255, 155, 146, 168);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -275,19 +275,19 @@ namespace TornadoAce_CJOnStyle.ViewModels
|
||||
|
||||
private void LoadStatusCards()
|
||||
{
|
||||
StatusCards.Add(new StatusCardViewModel("큐시트 API", "12", "수신 대기", Symbol.Sync, Brush(0xFF45D6D1)));
|
||||
StatusCards.Add(new StatusCardViewModel("Scene 매핑", "5", "템플릿 정의", Symbol.Map, Brush(0xFFB48CFF)));
|
||||
StatusCards.Add(new StatusCardViewModel("자동 검수", "98.7%", "목표 99%+", Symbol.Accept, Brush(0xFFFFB547)));
|
||||
StatusCards.Add(new StatusCardViewModel("Tornado", "Adapter", "Mock SDK 경계", Symbol.Repair, Brush(0xFF37D67A)));
|
||||
StatusCards.Add(new StatusCardViewModel("큐시트 API", "12", "수신 대기", Symbol.Sync, Brush(0xFF5FD7D3)));
|
||||
StatusCards.Add(new StatusCardViewModel("Scene 매핑", "5", "템플릿 정의", Symbol.Map, Brush(0xFFB58BFF)));
|
||||
StatusCards.Add(new StatusCardViewModel("자동 검수", "98.7%", "목표 99%+", Symbol.Accept, Brush(0xFFD9B76E)));
|
||||
StatusCards.Add(new StatusCardViewModel("Tornado", "Adapter", "Mock SDK 경계", Symbol.Repair, Brush(0xFFC8FF17)));
|
||||
}
|
||||
|
||||
private void LoadPipelineSteps()
|
||||
{
|
||||
PipelineSteps.Add(new PipelineStepViewModel("01", "큐시트/ERP 데이터 수신", "AI ON Studio / CJ OnStyle ERP", "PoC", 55, Brush(0xFF45D6D1)));
|
||||
PipelineSteps.Add(new PipelineStepViewModel("02", "Data Field Mapping", "큐시트 필드 -> Tornado Scene 객체", "초안", 45, Brush(0xFFB48CFF)));
|
||||
PipelineSteps.Add(new PipelineStepViewModel("03", "Scene 생성/갱신", "Tornado2 우선, Tornado3 adapter ready", "PoC", 55, Brush(0xFF37D67A)));
|
||||
PipelineSteps.Add(new PipelineStepViewModel("04", "Scene Data API 추출", "Text/Image visible object snapshot", "PoC", 50, Brush(0xFFFFB547)));
|
||||
PipelineSteps.Add(new PipelineStepViewModel("05", "자동 검수 피드백", "Text Diffing + LLM 중요도 판정", "초안", 40, Brush(0xFFFF5B61)));
|
||||
PipelineSteps.Add(new PipelineStepViewModel("01", "큐시트/ERP 데이터 수신", "AI ON Studio / CJ OnStyle ERP", "PoC", 55, Brush(0xFF5FD7D3)));
|
||||
PipelineSteps.Add(new PipelineStepViewModel("02", "Data Field Mapping", "큐시트 필드 -> Tornado Scene 객체", "초안", 45, Brush(0xFFB58BFF)));
|
||||
PipelineSteps.Add(new PipelineStepViewModel("03", "Scene 생성/갱신", "Tornado2 우선, Tornado3 adapter ready", "PoC", 55, Brush(0xFFC8FF17)));
|
||||
PipelineSteps.Add(new PipelineStepViewModel("04", "Scene Data API 추출", "Text/Image visible object snapshot", "PoC", 50, Brush(0xFFD9B76E)));
|
||||
PipelineSteps.Add(new PipelineStepViewModel("05", "자동 검수 피드백", "Text Diffing + LLM 중요도 판정", "초안", 40, Brush(0xFFFF626E)));
|
||||
}
|
||||
|
||||
private void LoadFieldMappings()
|
||||
@@ -320,10 +320,10 @@ namespace TornadoAce_CJOnStyle.ViewModels
|
||||
|
||||
private void LoadEndpoints()
|
||||
{
|
||||
Endpoints.Add(new IntegrationEndpointViewModel("큐시트 플랫폼", "GET /api/cuesheets/{broadcastDate}", "AI ON Studio", "Mock", Brush(0xFF45D6D1)));
|
||||
Endpoints.Add(new IntegrationEndpointViewModel("ERP 편성", "GET /api/schedules/{programCode}", "CJ OnStyle ERP", "Mock", Brush(0xFF37D67A)));
|
||||
Endpoints.Add(new IntegrationEndpointViewModel("Tornado Scene API", "POST /api/scenes/extract", "Tornado Adapter", "Mock", Brush(0xFF37D67A)));
|
||||
Endpoints.Add(new IntegrationEndpointViewModel("LLM 검수", "POST /api/inspection/llm", "Internal LLM", "정책 확인", Brush(0xFFB48CFF)));
|
||||
Endpoints.Add(new IntegrationEndpointViewModel("큐시트 플랫폼", "GET /api/cuesheets/{broadcastDate}", "AI ON Studio", "Mock", Brush(0xFF5FD7D3)));
|
||||
Endpoints.Add(new IntegrationEndpointViewModel("ERP 편성", "GET /api/schedules/{programCode}", "CJ OnStyle ERP", "Mock", Brush(0xFFC8FF17)));
|
||||
Endpoints.Add(new IntegrationEndpointViewModel("Tornado Scene API", "POST /api/scenes/extract", "Tornado Adapter", "Mock", Brush(0xFFC8FF17)));
|
||||
Endpoints.Add(new IntegrationEndpointViewModel("LLM 검수", "POST /api/inspection/llm", "Internal LLM", "정책 확인", Brush(0xFFB58BFF)));
|
||||
}
|
||||
|
||||
private void LoadTornadoAdapterChecks()
|
||||
@@ -342,18 +342,18 @@ namespace TornadoAce_CJOnStyle.ViewModels
|
||||
check.Name,
|
||||
check.Status,
|
||||
check.Evidence,
|
||||
check.Status == "준비" ? Brush(0xFFFFB547) : Brush(0xFF37D67A)));
|
||||
check.Status == "준비" ? Brush(0xFFD9B76E) : Brush(0xFFC8FF17)));
|
||||
}
|
||||
}
|
||||
|
||||
private void LoadRequirementCoverage()
|
||||
{
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-01", "큐시트 API 연동", "PoC", "JSON Mock 수신", Brush(0xFF45D6D1)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-02", "ERP 편성 연동", "PoC", "편성 JSON 매칭", Brush(0xFF37D67A)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-03", "Data Field Mapping", "PoC", "Scene 스냅샷 생성", Brush(0xFF37D67A)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-04", "Tornado Scene API", "PoC", "Mock adapter 추출", Brush(0xFF37D67A)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-05", "관리자 매핑 기능", "PoC", "프로파일 검증", Brush(0xFF37D67A)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-06", "1·2단계 자동 검수", "PoC", "필드 상세 Diff + LLM 후보", Brush(0xFF45D6D1)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-01", "큐시트 API 연동", "PoC", "JSON Mock 수신", Brush(0xFF5FD7D3)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-02", "ERP 편성 연동", "PoC", "편성 JSON 매칭", Brush(0xFFC8FF17)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-03", "Data Field Mapping", "PoC", "Scene 스냅샷 생성", Brush(0xFFC8FF17)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-04", "Tornado Scene API", "PoC", "Mock adapter 추출", Brush(0xFFC8FF17)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-05", "관리자 매핑 기능", "PoC", "프로파일 검증", Brush(0xFFC8FF17)));
|
||||
RequirementCoverage.Add(new PocRequirementViewModel("RFP-06", "1·2단계 자동 검수", "PoC", "필드 상세 Diff + LLM 후보", Brush(0xFF5FD7D3)));
|
||||
}
|
||||
|
||||
private void LoadScheduleMatches()
|
||||
@@ -371,7 +371,7 @@ namespace TornadoAce_CJOnStyle.ViewModels
|
||||
schedule?.ProgramCode ?? "-",
|
||||
schedule is null ? "편성 미확인" : $"{schedule.MerchandiserName} / {schedule.ProductCategory}",
|
||||
isMatched ? "매칭" : "확인",
|
||||
isMatched ? Brush(0xFF37D67A) : Brush(0xFFFFB547)));
|
||||
isMatched ? Brush(0xFFC8FF17) : Brush(0xFFD9B76E)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -471,9 +471,9 @@ namespace TornadoAce_CJOnStyle.ViewModels
|
||||
{
|
||||
return severity switch
|
||||
{
|
||||
"High" => Brush(0xFFFF5B61),
|
||||
"Medium" => Brush(0xFFFFB547),
|
||||
_ => Brush(0xFF37D67A)
|
||||
"High" => Brush(0xFFFF626E),
|
||||
"Medium" => Brush(0xFFD9B76E),
|
||||
_ => Brush(0xFFC8FF17)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -37,13 +37,33 @@
|
||||
RequestedTheme="Dark"
|
||||
Visibility="{x:Bind ViewModel.MainShellVisibility, Mode=OneWay}">
|
||||
<NavigationView.PaneHeader>
|
||||
<StackPanel Margin="12,18,12,12" Spacing="4">
|
||||
<TextBlock Style="{StaticResource LabelTextStyle}" Text="TORNADOACE" />
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="16"
|
||||
Foreground="{StaticResource TextPrimaryBrush}"
|
||||
Text="CJ OnStyle" />
|
||||
<StackPanel Margin="12,18,12,12" Spacing="8">
|
||||
<Grid ColumnSpacing="10">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border
|
||||
Width="34"
|
||||
Height="34"
|
||||
Background="{StaticResource PanelElevatedBrush}"
|
||||
BorderBrush="#55C8FF17"
|
||||
BorderThickness="1"
|
||||
CornerRadius="7">
|
||||
<Image
|
||||
Width="24"
|
||||
Height="24"
|
||||
Source="ms-appx:///Assets/TornadoAceAppIcon.png" />
|
||||
</Border>
|
||||
<StackPanel Grid.Column="1" VerticalAlignment="Center">
|
||||
<TextBlock Style="{StaticResource LabelTextStyle}" Text="TORNADOACE" />
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="16"
|
||||
Foreground="{StaticResource TextPrimaryBrush}"
|
||||
Text="CJ OnStyle" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<TextBlock
|
||||
Style="{StaticResource LabelTextStyle}"
|
||||
Text="{x:Bind ViewModel.BuildPhase, Mode=OneWay}" />
|
||||
@@ -104,7 +124,19 @@
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<StackPanel Spacing="6">
|
||||
<StackPanel Spacing="8">
|
||||
<StackPanel Orientation="Horizontal" Spacing="9">
|
||||
<Border
|
||||
Width="34"
|
||||
Height="2"
|
||||
VerticalAlignment="Center"
|
||||
Background="{StaticResource AccentGreenBrush}" />
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="12"
|
||||
Foreground="{StaticResource AccentAmberBrush}"
|
||||
Text="CJ ONSTYLE / TORNADOACE" />
|
||||
</StackPanel>
|
||||
<TextBlock
|
||||
Style="{StaticResource PageTitleTextStyle}"
|
||||
Text="CG 제작 자동화 컨트롤" />
|
||||
@@ -116,12 +148,22 @@
|
||||
|
||||
<StackPanel
|
||||
Grid.Column="1"
|
||||
Width="372"
|
||||
HorizontalAlignment="Right"
|
||||
Spacing="8"
|
||||
VerticalAlignment="Top">
|
||||
<StackPanel Orientation="Horizontal" Spacing="10">
|
||||
<Grid ColumnSpacing="8" RowSpacing="8">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Button
|
||||
Command="{x:Bind ViewModel.RunPocCommand}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Style="{StaticResource PrimaryActionButtonStyle}">
|
||||
<StackPanel Orientation="Horizontal" Spacing="7">
|
||||
<SymbolIcon Symbol="Play" />
|
||||
@@ -129,7 +171,9 @@
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
Command="{x:Bind ViewModel.RefreshCueSheetCommand}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Style="{StaticResource GhostActionButtonStyle}">
|
||||
<StackPanel Orientation="Horizontal" Spacing="7">
|
||||
<SymbolIcon Symbol="Refresh" />
|
||||
@@ -137,7 +181,9 @@
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Command="{x:Bind ViewModel.GenerateSceneCommand}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Style="{StaticResource GhostActionButtonStyle}">
|
||||
<StackPanel Orientation="Horizontal" Spacing="7">
|
||||
<SymbolIcon Symbol="Play" />
|
||||
@@ -145,14 +191,17 @@
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Command="{x:Bind ViewModel.RunInspectionCommand}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Style="{StaticResource GhostActionButtonStyle}">
|
||||
<StackPanel Orientation="Horizontal" Spacing="7">
|
||||
<SymbolIcon Symbol="Accept" />
|
||||
<TextBlock Text="검수 실행" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<TextBlock
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource LabelTextStyle}"
|
||||
@@ -186,10 +235,12 @@
|
||||
<Border
|
||||
Width="34"
|
||||
Height="34"
|
||||
Background="{x:Bind AccentBrush}"
|
||||
Background="{StaticResource PanelElevatedBrush}"
|
||||
BorderBrush="{x:Bind AccentBrush}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8">
|
||||
<SymbolIcon
|
||||
Foreground="#071013"
|
||||
Foreground="{x:Bind AccentBrush}"
|
||||
Symbol="{x:Bind Icon}" />
|
||||
</Border>
|
||||
<StackPanel Grid.Column="1" Spacing="4">
|
||||
@@ -254,13 +305,15 @@
|
||||
<Border
|
||||
Width="34"
|
||||
Height="34"
|
||||
Background="{x:Bind AccentBrush}"
|
||||
Background="{StaticResource PanelElevatedBrush}"
|
||||
BorderBrush="{x:Bind AccentBrush}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="Cascadia Mono"
|
||||
Foreground="#071013"
|
||||
Foreground="{x:Bind AccentBrush}"
|
||||
Text="{x:Bind StepNumber}" />
|
||||
</Border>
|
||||
<StackPanel Grid.Column="1" Spacing="5">
|
||||
@@ -307,6 +360,8 @@
|
||||
<Border
|
||||
Padding="10,8"
|
||||
Background="{StaticResource PanelAltBrush}"
|
||||
BorderBrush="{StaticResource PanelSoftStrokeBrush}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8">
|
||||
<Grid ColumnSpacing="10">
|
||||
<Grid.ColumnDefinitions>
|
||||
@@ -899,18 +954,18 @@
|
||||
|
||||
<StackPanel
|
||||
MaxWidth="620"
|
||||
Spacing="16"
|
||||
Spacing="14"
|
||||
VerticalAlignment="Bottom">
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="13"
|
||||
Foreground="#D7D0B7FF"
|
||||
Foreground="#E8D9B76E"
|
||||
Text="CJ ONSTYLE" />
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="58"
|
||||
FontSize="62"
|
||||
Foreground="White"
|
||||
LineHeight="64"
|
||||
LineHeight="66"
|
||||
Text="TornadoAce"
|
||||
TextWrapping="WrapWholeWords" />
|
||||
<TextBlock
|
||||
@@ -924,32 +979,57 @@
|
||||
|
||||
<Border
|
||||
Grid.Column="1"
|
||||
Padding="24"
|
||||
Background="#F5FFFFFF"
|
||||
BorderBrush="#33FFFFFF"
|
||||
Padding="26"
|
||||
Background="{StaticResource LoginSurfaceBrush}"
|
||||
BorderBrush="#66D9B76E"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8">
|
||||
<StackPanel Spacing="14">
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift"
|
||||
FontSize="12"
|
||||
Foreground="#7B2CBF"
|
||||
Text="CJ ONSTYLE" />
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="24"
|
||||
Foreground="#15101A"
|
||||
Text="TornadoAce" />
|
||||
<StackPanel Spacing="16">
|
||||
<Grid ColumnSpacing="12">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border
|
||||
Width="46"
|
||||
Height="46"
|
||||
Background="#17101F"
|
||||
BorderBrush="#55C8FF17"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8">
|
||||
<Image
|
||||
Width="32"
|
||||
Height="32"
|
||||
Source="ms-appx:///Assets/TornadoAceAppIcon.png" />
|
||||
</Border>
|
||||
<StackPanel Grid.Column="1" VerticalAlignment="Center">
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift"
|
||||
FontSize="12"
|
||||
Foreground="{StaticResource AccentVioletBrush}"
|
||||
Text="CJ ONSTYLE" />
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="24"
|
||||
Foreground="{StaticResource LoginTextBrush}"
|
||||
Text="TornadoAce" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Border Height="1" Background="#2217101F" />
|
||||
|
||||
<StackPanel Spacing="6">
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="12"
|
||||
Foreground="#62606A"
|
||||
Foreground="{StaticResource LoginMutedBrush}"
|
||||
Text="아이디" />
|
||||
<TextBox
|
||||
x:Name="OperatorNameTextBox"
|
||||
MinHeight="42"
|
||||
Background="White"
|
||||
BorderBrush="#2517101F"
|
||||
Foreground="{StaticResource LoginTextBrush}"
|
||||
PlaceholderText="operator"
|
||||
Text="{x:Bind ViewModel.LoginOperatorName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</StackPanel>
|
||||
@@ -958,11 +1038,14 @@
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="12"
|
||||
Foreground="#62606A"
|
||||
Foreground="{StaticResource LoginMutedBrush}"
|
||||
Text="패스워드" />
|
||||
<PasswordBox
|
||||
x:Name="OperatorPasswordBox"
|
||||
MinHeight="42"
|
||||
Background="White"
|
||||
BorderBrush="#2517101F"
|
||||
Foreground="{StaticResource LoginTextBrush}"
|
||||
PlaceholderText="access code" />
|
||||
</StackPanel>
|
||||
|
||||
@@ -970,7 +1053,9 @@
|
||||
MinHeight="44"
|
||||
Margin="0,4,0,0"
|
||||
HorizontalAlignment="Stretch"
|
||||
Background="#341069"
|
||||
Background="{StaticResource AccentVioletBrush}"
|
||||
BorderBrush="#88C8FF17"
|
||||
BorderThickness="1"
|
||||
Click="LoginButton_Click"
|
||||
CornerRadius="5"
|
||||
Foreground="White">
|
||||
@@ -994,28 +1079,48 @@
|
||||
Visibility="{x:Bind ViewModel.LaunchScreenVisibility, Mode=OneWay}">
|
||||
<Border
|
||||
Width="420"
|
||||
Padding="22"
|
||||
Padding="24"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Background="#F7FFFFFF"
|
||||
BorderBrush="#E5FFFFFF"
|
||||
Background="{StaticResource LoginSurfaceBrush}"
|
||||
BorderBrush="#66D9B76E"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8">
|
||||
<StackPanel Spacing="12">
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift"
|
||||
FontSize="12"
|
||||
Foreground="#7B2CBF"
|
||||
Text="TORNADOACE" />
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="22"
|
||||
Foreground="#15101A"
|
||||
Text="CJ OnStyle CG Automation" />
|
||||
<Grid ColumnSpacing="12">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border
|
||||
Width="42"
|
||||
Height="42"
|
||||
Background="#17101F"
|
||||
BorderBrush="#55C8FF17"
|
||||
BorderThickness="1"
|
||||
CornerRadius="8">
|
||||
<Image
|
||||
Width="28"
|
||||
Height="28"
|
||||
Source="ms-appx:///Assets/TornadoAceAppIcon.png" />
|
||||
</Border>
|
||||
<StackPanel Grid.Column="1" VerticalAlignment="Center">
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift"
|
||||
FontSize="12"
|
||||
Foreground="{StaticResource AccentVioletBrush}"
|
||||
Text="TORNADOACE" />
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift SemiBold"
|
||||
FontSize="22"
|
||||
Foreground="{StaticResource LoginTextBrush}"
|
||||
Text="CJ OnStyle CG Automation" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
<TextBlock
|
||||
FontFamily="Bahnschrift"
|
||||
FontSize="14"
|
||||
Foreground="#62606A"
|
||||
Foreground="{StaticResource LoginMutedBrush}"
|
||||
Text="{x:Bind ViewModel.LaunchMessage, Mode=OneWay}"
|
||||
TextWrapping="WrapWholeWords" />
|
||||
<ProgressBar
|
||||
|
||||
Reference in New Issue
Block a user