Files
ModernAdminStudio/Views/DashboardView.xaml
T

167 lines
10 KiB
XML
Raw Normal View History

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid Margin="24">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- View Header -->
<StackPanel Grid.Row="0" Margin="0,0,0,24">
<TextBlock Text="인프라 종합 대시보드" FontSize="24" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" />
<TextBlock Text="Active Directory, NetApp 스토리지, MS SQL 데이터베이스 전반의 실시간 상태를 모니터링합니다."
FontSize="13" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,4,0,0" />
</StackPanel>
<!-- KPI Summary Cards Grid -->
<Grid Grid.Row="1" Margin="0,0,0,20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- Card 1: Active Directory -->
<Border Grid.Column="0" Style="{StaticResource ModernCardStyle}">
<StackPanel>
<Grid>
<TextBlock Text="Active Directory" FontSize="13" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" />
<TextBlock Text="&#xE77B;" FontFamily="{StaticResource IconFont}" FontSize="18" HorizontalAlignment="Right" Foreground="#60A5FA" />
</Grid>
<TextBlock Text="1,420" FontSize="28" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,2" />
<StackPanel Orientation="Horizontal">
<Border Background="#10B981" CornerRadius="4" Padding="6,2" Margin="0,0,6,0">
<TextBlock Text="정상" FontSize="11" FontWeight="Bold" Foreground="White" />
</Border>
<TextBlock Text="잠김 2건 / 비활성 18건" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center" />
</StackPanel>
</StackPanel>
</Border>
<!-- Card 2: NetApp Qtree & Volume -->
<Border Grid.Column="1" Style="{StaticResource ModernCardStyle}">
<StackPanel>
<Grid>
<TextBlock Text="NetApp Qtree / 볼륨" FontSize="13" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" />
<TextBlock Text="&#xE7F3;" FontFamily="{StaticResource IconFont}" FontSize="18" HorizontalAlignment="Right" Foreground="#34D399" />
</Grid>
<TextBlock Text="84 / 12 개" FontSize="28" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,2" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="전체 스토리지 사용률: " FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" />
<TextBlock Text="68.4%" FontSize="12" FontWeight="SemiBold" Foreground="#34D399" />
</StackPanel>
</StackPanel>
</Border>
<!-- Card 3: Quota & Shares -->
<Border Grid.Column="2" Style="{StaticResource ModernCardStyle}">
<StackPanel>
<Grid>
<TextBlock Text="Quota 및 공유 (CIFS/NFS)" FontSize="13" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" />
<TextBlock Text="&#xE8B7;" FontFamily="{StaticResource IconFont}" FontSize="18" HorizontalAlignment="Right" Foreground="#FBBF24" />
</Grid>
<TextBlock Text="48 개 Share" FontSize="28" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,2" />
<StackPanel Orientation="Horizontal">
<Border Background="#F59E0B" CornerRadius="4" Padding="6,2" Margin="0,0,6,0">
<TextBlock Text="경고" FontSize="11" FontWeight="Bold" Foreground="Black" />
</Border>
<TextBlock Text="Quota 90% 초과 3건" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center" />
</StackPanel>
</StackPanel>
</Border>
<!-- Card 4: MS SQL DB -->
<Border Grid.Column="3" Style="{StaticResource ModernCardStyle}">
<StackPanel>
<Grid>
<TextBlock Text="MS SQL 데이터베이스" FontSize="13" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" />
<TextBlock Text="&#xEC92;" FontFamily="{StaticResource IconFont}" FontSize="18" HorizontalAlignment="Right" Foreground="#A78BFA" />
</Grid>
<TextBlock Text="16 DBs" FontSize="28" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,8,0,2" />
<StackPanel Orientation="Horizontal">
<Border Background="#10B981" CornerRadius="4" Padding="6,2" Margin="0,0,6,0">
<TextBlock Text="온라인" FontSize="11" FontWeight="Bold" Foreground="White" />
</Border>
<TextBlock Text="최근 백업 정상 완료" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" VerticalAlignment="Center" />
</StackPanel>
</StackPanel>
</Border>
</Grid>
<!-- Bottom Layout: Recent Activities & Quick Launcher -->
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<!-- Activity Log Card -->
<Border Grid.Column="0" Style="{StaticResource ModernCardStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<DockPanel Grid.Row="0" Margin="0,0,0,14">
<TextBlock Text="최근 시스템 감사 및 관리 이력" FontSize="15" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" VerticalAlignment="Center" />
<Button Content="새로고침" Style="{StaticResource SecondaryButtonStyle}" HorizontalAlignment="Right" Padding="10,4" />
</DockPanel>
<DataGrid x:Name="ActivityGrid" Grid.Row="1" Style="{StaticResource ModernDataGridStyle}">
<DataGrid.Columns>
<DataGridTextColumn Header="발생 시각" Binding="{Binding Timestamp}" Width="140" />
<DataGridTextColumn Header="대상 시스템" Binding="{Binding TargetSystem}" Width="120" />
<DataGridTextColumn Header="작업 유형" Binding="{Binding ActionType}" Width="140" />
<DataGridTextColumn Header="세부 내용" Binding="{Binding Description}" Width="*" />
<DataGridTextColumn Header="결과" Binding="{Binding Status}" Width="80" />
</DataGrid.Columns>
</DataGrid>
</Grid>
</Border>
<!-- Quick Actions Card -->
<Border Grid.Column="1" Style="{StaticResource ModernCardStyle}">
<StackPanel>
<TextBlock Text="빠른 작업 바로가기" FontSize="15" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,0,0,16" />
<Button Content="&#xE77B; AD 계정 신규 생성 / 잠금 해제" Style="{StaticResource SecondaryButtonStyle}"
HorizontalContentAlignment="Left" Margin="0,0,0,10" Padding="12,10" x:Name="QuickBtnAD" />
<Button Content="&#xE7F3; NetApp Quota 용량 증설 요청" Style="{StaticResource SecondaryButtonStyle}"
HorizontalContentAlignment="Left" Margin="0,0,0,10" Padding="12,10" x:Name="QuickBtnQuota" />
<Button Content="&#xE8B7; 신규 CIFS/SMB 공유 생성" Style="{StaticResource SecondaryButtonStyle}"
HorizontalContentAlignment="Left" Margin="0,0,0,10" Padding="12,10" x:Name="QuickBtnShare" />
<Button Content="&#xEC92; SQL DB 즉시 백업 수행" Style="{StaticResource SecondaryButtonStyle}"
HorizontalContentAlignment="Left" Margin="0,0,0,10" Padding="12,10" x:Name="QuickBtnSql" />
<Separator Background="{StaticResource CardBorderBrush}" Margin="0,10,0,16" />
<!-- Connection Quick Status Box -->
<Border Background="#121A27" CornerRadius="6" Padding="12">
<StackPanel>
<TextBlock Text="시스템 연결 상태 요약" FontSize="12" FontWeight="SemiBold" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,8" />
<Grid Margin="0,2">
<TextBlock Text="Active Directory DC:" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" />
<TextBlock Text="정상 연결" FontSize="12" Foreground="#10B981" HorizontalAlignment="Right" />
</Grid>
<Grid Margin="0,2">
<TextBlock Text="NetApp ONTAP API:" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" />
<TextBlock Text="정상 연결" FontSize="12" Foreground="#10B981" HorizontalAlignment="Right" />
</Grid>
<Grid Margin="0,2">
<TextBlock Text="MS SQL Server:" FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" />
<TextBlock Text="정상 연결" FontSize="12" Foreground="#10B981" HorizontalAlignment="Right" />
</Grid>
</StackPanel>
</Border>
</StackPanel>
</Border>
</Grid>
</Grid>
</UserControl>