1498 lines
104 KiB
XML
1498 lines
104 KiB
XML
<Window x:Class="UI.Dashboard.DashboardMain"
|
||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
xmlns:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework"
|
||
WindowStartupLocation="CenterScreen"
|
||
WindowStyle="None"
|
||
AllowsTransparency="False"
|
||
ResizeMode="CanResize"
|
||
Background="#0D1117"
|
||
Height="760"
|
||
Width="1280"
|
||
MinHeight="600"
|
||
MinWidth="900"
|
||
MouseDown="Window_MouseDown">
|
||
|
||
<!-- ✅ Remove faixa branca nativa do Windows sem precisar de AllowsTransparency=True -->
|
||
<Window.Style>
|
||
<Style TargetType="Window">
|
||
<Setter Property="shell:WindowChrome.WindowChrome">
|
||
<Setter.Value>
|
||
<shell:WindowChrome
|
||
CaptionHeight="0"
|
||
ResizeBorderThickness="5"
|
||
GlassFrameThickness="0"
|
||
CornerRadius="0"
|
||
UseAeroCaptionButtons="False"/>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
</Window.Style>
|
||
|
||
<Window.Resources>
|
||
|
||
<SolidColorBrush x:Key="BgBase" Color="#0D1117"/>
|
||
<SolidColorBrush x:Key="BgSidebar" Color="#0A1020"/>
|
||
<SolidColorBrush x:Key="BgCard" Color="#111827"/>
|
||
<SolidColorBrush x:Key="BgCardHover" Color="#162035"/>
|
||
<SolidColorBrush x:Key="BgInput" Color="#131E35"/>
|
||
<SolidColorBrush x:Key="BorderSubtle" Color="#1E2D4A"/>
|
||
<SolidColorBrush x:Key="TextPrimary" Color="#F1F5F9"/>
|
||
<SolidColorBrush x:Key="TextSecondary" Color="#64748B"/>
|
||
<SolidColorBrush x:Key="TextMuted" Color="#334155"/>
|
||
<SolidColorBrush x:Key="AccentBlue" Color="#3B82F6"/>
|
||
<SolidColorBrush x:Key="AccentGreen" Color="#22C55E"/>
|
||
<SolidColorBrush x:Key="AccentRed" Color="#EF4444"/>
|
||
<SolidColorBrush x:Key="AccentAmber" Color="#F59E0B"/>
|
||
|
||
<Style x:Key="SidebarBtn" TargetType="Button">
|
||
<Setter Property="Background" Value="Transparent"/>
|
||
<Setter Property="BorderThickness" Value="0"/>
|
||
<Setter Property="Cursor" Value="Hand"/>
|
||
<Setter Property="Height" Value="44"/>
|
||
<Setter Property="HorizontalContentAlignment" Value="Left"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="Button">
|
||
<Border x:Name="bd" Background="{TemplateBinding Background}"
|
||
CornerRadius="10" Padding="14 0">
|
||
<ContentPresenter VerticalAlignment="Center"/>
|
||
</Border>
|
||
<ControlTemplate.Triggers>
|
||
<Trigger Property="IsMouseOver" Value="True">
|
||
<Setter TargetName="bd" Property="Background" Value="#111827"/>
|
||
</Trigger>
|
||
</ControlTemplate.Triggers>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<Style x:Key="SidebarBtnActive" TargetType="Button" BasedOn="{StaticResource SidebarBtn}">
|
||
<Setter Property="Background" Value="#162035"/>
|
||
</Style>
|
||
|
||
<Style x:Key="BtnPrimary" TargetType="Button">
|
||
<Setter Property="Foreground" Value="White"/>
|
||
<Setter Property="BorderThickness" Value="0"/>
|
||
<Setter Property="Cursor" Value="Hand"/>
|
||
<Setter Property="FontSize" Value="13"/>
|
||
<Setter Property="FontWeight" Value="SemiBold"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="Button">
|
||
<Border x:Name="bd" CornerRadius="9"
|
||
Background="{TemplateBinding Background}"
|
||
Padding="{TemplateBinding Padding}"
|
||
Height="{TemplateBinding Height}">
|
||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
<ControlTemplate.Triggers>
|
||
<Trigger Property="IsMouseOver" Value="True">
|
||
<Setter TargetName="bd" Property="Opacity" Value="0.85"/>
|
||
</Trigger>
|
||
<Trigger Property="IsPressed" Value="True">
|
||
<Setter TargetName="bd" Property="Opacity" Value="0.7"/>
|
||
</Trigger>
|
||
</ControlTemplate.Triggers>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<Style x:Key="BtnOutline" TargetType="Button">
|
||
<Setter Property="Foreground" Value="#94A3B8"/>
|
||
<Setter Property="BorderThickness" Value="1"/>
|
||
<Setter Property="BorderBrush" Value="#1E2D4A"/>
|
||
<Setter Property="Background" Value="#111827"/>
|
||
<Setter Property="Cursor" Value="Hand"/>
|
||
<Setter Property="FontSize" Value="13"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="Button">
|
||
<Border x:Name="bd" CornerRadius="9"
|
||
Background="{TemplateBinding Background}"
|
||
BorderBrush="{TemplateBinding BorderBrush}"
|
||
BorderThickness="{TemplateBinding BorderThickness}"
|
||
Padding="{TemplateBinding Padding}"
|
||
Height="{TemplateBinding Height}">
|
||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
<ControlTemplate.Triggers>
|
||
<Trigger Property="IsMouseOver" Value="True">
|
||
<Setter TargetName="bd" Property="BorderBrush" Value="#3B82F6"/>
|
||
<Setter Property="Foreground" Value="#F1F5F9"/>
|
||
</Trigger>
|
||
</ControlTemplate.Triggers>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<Style x:Key="InputStyle" TargetType="TextBox">
|
||
<Setter Property="Background" Value="#131E35"/>
|
||
<Setter Property="Foreground" Value="#CBD5E1"/>
|
||
<Setter Property="BorderBrush" Value="#1E2D4A"/>
|
||
<Setter Property="BorderThickness" Value="1"/>
|
||
<Setter Property="CaretBrush" Value="#3B82F6"/>
|
||
<Setter Property="FontSize" Value="13"/>
|
||
<Setter Property="Padding" Value="10 0"/>
|
||
<Setter Property="Height" Value="36"/>
|
||
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="TextBox">
|
||
<Border x:Name="bd" Background="{TemplateBinding Background}"
|
||
BorderBrush="{TemplateBinding BorderBrush}"
|
||
BorderThickness="{TemplateBinding BorderThickness}"
|
||
CornerRadius="8">
|
||
<ScrollViewer x:Name="PART_ContentHost"
|
||
Margin="{TemplateBinding Padding}"
|
||
VerticalAlignment="Center"/>
|
||
</Border>
|
||
<ControlTemplate.Triggers>
|
||
<Trigger Property="IsFocused" Value="True">
|
||
<Setter TargetName="bd" Property="BorderBrush" Value="#3B82F6"/>
|
||
</Trigger>
|
||
<Trigger Property="IsMouseOver" Value="True">
|
||
<Setter TargetName="bd" Property="BorderBrush" Value="#2D4A7A"/>
|
||
</Trigger>
|
||
</ControlTemplate.Triggers>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<Style x:Key="ComboStyle" TargetType="ComboBox">
|
||
<Setter Property="Background" Value="#131E35"/>
|
||
<Setter Property="Foreground" Value="#CBD5E1"/>
|
||
<Setter Property="BorderBrush" Value="#1E2D4A"/>
|
||
<Setter Property="BorderThickness" Value="1"/>
|
||
<Setter Property="FontSize" Value="13"/>
|
||
<Setter Property="Height" Value="36"/>
|
||
<Setter Property="Padding" Value="10 0"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="ComboBox">
|
||
<Border x:Name="bd" Background="{TemplateBinding Background}"
|
||
BorderBrush="{TemplateBinding BorderBrush}"
|
||
BorderThickness="{TemplateBinding BorderThickness}"
|
||
CornerRadius="8">
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="30"/>
|
||
</Grid.ColumnDefinitions>
|
||
<ContentPresenter x:Name="ContentSite" IsHitTestVisible="False"
|
||
Content="{TemplateBinding SelectionBoxItem}"
|
||
Margin="10 0 0 0" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="1" Text="▾" Foreground="#64748B" FontSize="11"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
<Popup x:Name="Popup" Placement="Bottom"
|
||
IsOpen="{TemplateBinding IsDropDownOpen}"
|
||
AllowsTransparency="True" Focusable="False">
|
||
<Border Background="#131E35" BorderBrush="#1E2D4A"
|
||
BorderThickness="1" CornerRadius="8"
|
||
MinWidth="{TemplateBinding ActualWidth}">
|
||
<Border.Effect>
|
||
<DropShadowEffect Color="#000" Opacity="0.5" BlurRadius="16" ShadowDepth="4"/>
|
||
</Border.Effect>
|
||
<ItemsPresenter/>
|
||
</Border>
|
||
</Popup>
|
||
</Grid>
|
||
</Border>
|
||
<ControlTemplate.Triggers>
|
||
<Trigger Property="IsFocused" Value="True">
|
||
<Setter TargetName="bd" Property="BorderBrush" Value="#3B82F6"/>
|
||
</Trigger>
|
||
</ControlTemplate.Triggers>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<!-- ✅ Scrollbar fina e discreta no tema escuro -->
|
||
<Style TargetType="ScrollBar">
|
||
<Setter Property="Width" Value="6"/>
|
||
<Setter Property="Background" Value="Transparent"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="ScrollBar">
|
||
<Grid Background="Transparent">
|
||
<Track x:Name="PART_Track" IsDirectionReversed="True">
|
||
<Track.Thumb>
|
||
<Thumb>
|
||
<Thumb.Template>
|
||
<ControlTemplate TargetType="Thumb">
|
||
<Border CornerRadius="3" Background="#1E2D4A" Margin="1 2"/>
|
||
</ControlTemplate>
|
||
</Thumb.Template>
|
||
</Thumb>
|
||
</Track.Thumb>
|
||
</Track>
|
||
</Grid>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<Style x:Key="CheckStyle" TargetType="CheckBox">
|
||
<Setter Property="Foreground" Value="#CBD5E1"/>
|
||
<Setter Property="FontSize" Value="13"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="CheckBox">
|
||
<StackPanel Orientation="Horizontal">
|
||
<Border x:Name="box" Width="16" Height="16" CornerRadius="4"
|
||
BorderThickness="1" BorderBrush="#1E2D4A" Background="#131E35">
|
||
<TextBlock x:Name="check" Text="✓" FontSize="11" FontWeight="Bold"
|
||
Foreground="White" HorizontalAlignment="Center"
|
||
VerticalAlignment="Center" Visibility="Collapsed"/>
|
||
</Border>
|
||
<ContentPresenter Margin="8 0 0 0" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
<ControlTemplate.Triggers>
|
||
<Trigger Property="IsChecked" Value="True">
|
||
<Setter TargetName="box" Property="Background" Value="#3B82F6"/>
|
||
<Setter TargetName="box" Property="BorderBrush" Value="#3B82F6"/>
|
||
<Setter TargetName="check" Property="Visibility" Value="Visible"/>
|
||
</Trigger>
|
||
</ControlTemplate.Triggers>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<Style x:Key="RadioStyle" TargetType="RadioButton">
|
||
<Setter Property="Foreground" Value="#CBD5E1"/>
|
||
<Setter Property="FontSize" Value="13"/>
|
||
<Setter Property="Margin" Value="0 4"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="RadioButton">
|
||
<StackPanel Orientation="Horizontal">
|
||
<Border x:Name="circle" Width="16" Height="16" CornerRadius="8"
|
||
BorderThickness="1.5" BorderBrush="#1E2D4A" Background="Transparent">
|
||
<Ellipse x:Name="dot" Width="7" Height="7" Fill="#3B82F6"
|
||
Visibility="Collapsed" HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"/>
|
||
</Border>
|
||
<ContentPresenter Margin="8 0 0 0" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
<ControlTemplate.Triggers>
|
||
<Trigger Property="IsChecked" Value="True">
|
||
<Setter TargetName="circle" Property="BorderBrush" Value="#3B82F6"/>
|
||
<Setter TargetName="dot" Property="Visibility" Value="Visible"/>
|
||
</Trigger>
|
||
</ControlTemplate.Triggers>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<Style x:Key="FieldLabel" TargetType="TextBlock">
|
||
<Setter Property="Foreground" Value="#64748B"/>
|
||
<Setter Property="FontSize" Value="12"/>
|
||
<Setter Property="Margin" Value="0 0 0 5"/>
|
||
</Style>
|
||
|
||
<Style x:Key="TableRowBorder" TargetType="Border">
|
||
<Setter Property="Background" Value="Transparent"/>
|
||
<Setter Property="BorderBrush" Value="#111827"/>
|
||
<Setter Property="BorderThickness" Value="0 0 0 1"/>
|
||
<Setter Property="Padding" Value="12 10"/>
|
||
</Style>
|
||
|
||
</Window.Resources>
|
||
|
||
<Grid>
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="52"/>
|
||
<RowDefinition Height="*"/>
|
||
</Grid.RowDefinitions>
|
||
|
||
<!-- TOP BAR -->
|
||
<Border Grid.Row="0" BorderThickness="0 0 0 1" BorderBrush="#1E2D4A">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#0A1020" Offset="0"/>
|
||
<GradientStop Color="#0D1117" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<!-- ✅ VerticalAlignment="Stretch" no Grid garante centralização perfeita -->
|
||
<Grid Margin="16 0" VerticalAlignment="Stretch">
|
||
<Grid.ColumnDefinitions>
|
||
<!-- Sidebar width proporcional -->
|
||
<ColumnDefinition Width="180"/>
|
||
<!-- Search ocupa o espaço restante -->
|
||
<ColumnDefinition Width="*"/>
|
||
<!-- Ações à direita -->
|
||
<ColumnDefinition Width="Auto"/>
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<!-- Logo -->
|
||
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
||
<Viewbox Width="26" Height="26">
|
||
<Grid Width="100" Height="100">
|
||
<Path Fill="#3B82F6">
|
||
<Path.Data>
|
||
<PathGeometry>
|
||
<PathFigure StartPoint="50,5" IsClosed="True">
|
||
<LineSegment Point="78,33"/>
|
||
<LineSegment Point="50,47"/>
|
||
<LineSegment Point="22,33"/>
|
||
</PathFigure>
|
||
</PathGeometry>
|
||
</Path.Data>
|
||
</Path>
|
||
<Path>
|
||
<Path.Fill>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#60A5FA" Offset="0"/>
|
||
<GradientStop Color="#3B82F6" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Path.Fill>
|
||
<Path.Data>
|
||
<PathGeometry>
|
||
<PathFigure StartPoint="53,50" IsClosed="True">
|
||
<LineSegment Point="78,33"/>
|
||
<LineSegment Point="95,50"/>
|
||
<LineSegment Point="78,67"/>
|
||
</PathFigure>
|
||
</PathGeometry>
|
||
</Path.Data>
|
||
</Path>
|
||
<Path>
|
||
<Path.Fill>
|
||
<LinearGradientBrush StartPoint="0,1" EndPoint="1,0">
|
||
<GradientStop Color="#2563EB" Offset="0"/>
|
||
<GradientStop Color="#3B82F6" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Path.Fill>
|
||
<Path.Data>
|
||
<PathGeometry>
|
||
<PathFigure StartPoint="50,53" IsClosed="True">
|
||
<LineSegment Point="78,67"/>
|
||
<LineSegment Point="50,95"/>
|
||
<LineSegment Point="22,67"/>
|
||
</PathFigure>
|
||
</PathGeometry>
|
||
</Path.Data>
|
||
</Path>
|
||
<Path>
|
||
<Path.Fill>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#3B82F6" Offset="0"/>
|
||
<GradientStop Color="#2563EB" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Path.Fill>
|
||
<Path.Data>
|
||
<PathGeometry>
|
||
<PathFigure StartPoint="47,50" IsClosed="True">
|
||
<LineSegment Point="22,33"/>
|
||
<LineSegment Point="5,50"/>
|
||
<LineSegment Point="22,67"/>
|
||
</PathFigure>
|
||
</PathGeometry>
|
||
</Path.Data>
|
||
</Path>
|
||
</Grid>
|
||
</Viewbox>
|
||
<TextBlock Text="Levelcode SGI" Foreground="White" FontSize="16"
|
||
FontWeight="Bold" Margin="9 0 0 0" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
|
||
<!-- ✅ Search bar: ocupa toda a coluna do meio, com margem lateral -->
|
||
<Border Grid.Column="1"
|
||
Background="#111827" BorderBrush="#1E2D4A" BorderThickness="1"
|
||
CornerRadius="10" Height="34"
|
||
Margin="16 0"
|
||
HorizontalAlignment="Stretch"
|
||
VerticalAlignment="Center">
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="36"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<TextBlock Text="🔍" FontSize="12" Foreground="#334155"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
<TextBox Grid.Column="1" Background="Transparent" BorderThickness="0"
|
||
Foreground="#64748B" FontSize="13" VerticalContentAlignment="Center"
|
||
CaretBrush="#3B82F6">
|
||
<TextBox.Style>
|
||
<Style TargetType="TextBox">
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="TextBox">
|
||
<ScrollViewer x:Name="PART_ContentHost" VerticalAlignment="Center"/>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
</TextBox.Style>
|
||
</TextBox>
|
||
</Grid>
|
||
</Border>
|
||
|
||
<!-- Right actions -->
|
||
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center" Margin="0 0 4 0">
|
||
<Grid Width="34" Height="34" Margin="0 0 6 0" Cursor="Hand">
|
||
<Border CornerRadius="9" Background="#111827" BorderBrush="#1E2D4A" BorderThickness="1"/>
|
||
<TextBlock Text="🔔" FontSize="13" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
<Border Width="15" Height="15" CornerRadius="8" Background="#EF4444"
|
||
HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0 -3 -3 0">
|
||
<TextBlock Text="3" Foreground="White" FontSize="9" FontWeight="Bold"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
</Grid>
|
||
<Border Width="34" Height="34" CornerRadius="9" Background="#111827"
|
||
BorderBrush="#1E2D4A" BorderThickness="1" Cursor="Hand" Margin="0 0 8 0">
|
||
<Path Fill="#64748B" HorizontalAlignment="Center" VerticalAlignment="Center"
|
||
Width="15" Height="15" Stretch="Uniform"
|
||
Data="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94zM12,15.6c-1.98,0-3.6-1.62-3.6-3.6s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"/>
|
||
</Border>
|
||
<Border CornerRadius="10" Background="#111827" BorderBrush="#1E2D4A"
|
||
BorderThickness="1" Padding="10 0 12 0" Height="34" Cursor="Hand">
|
||
<StackPanel Orientation="Horizontal">
|
||
<Border Width="22" Height="22" CornerRadius="11" Background="#1A3A6E">
|
||
<Viewbox Width="14" Height="14">
|
||
<Grid Width="100" Height="100">
|
||
<Path Fill="#3B82F6">
|
||
<Path.Data>
|
||
<PathGeometry>
|
||
<PathFigure StartPoint="50,5" IsClosed="True">
|
||
<LineSegment Point="78,33"/>
|
||
<LineSegment Point="50,47"/>
|
||
<LineSegment Point="22,33"/>
|
||
</PathFigure>
|
||
</PathGeometry>
|
||
</Path.Data>
|
||
</Path>
|
||
<Path Fill="#60A5FA">
|
||
<Path.Data>
|
||
<PathGeometry>
|
||
<PathFigure StartPoint="53,50" IsClosed="True">
|
||
<LineSegment Point="78,33"/>
|
||
<LineSegment Point="95,50"/>
|
||
<LineSegment Point="78,67"/>
|
||
</PathFigure>
|
||
</PathGeometry>
|
||
</Path.Data>
|
||
</Path>
|
||
<Path Fill="#2563EB">
|
||
<Path.Data>
|
||
<PathGeometry>
|
||
<PathFigure StartPoint="50,53" IsClosed="True">
|
||
<LineSegment Point="78,67"/>
|
||
<LineSegment Point="50,95"/>
|
||
<LineSegment Point="22,67"/>
|
||
</PathFigure>
|
||
</PathGeometry>
|
||
</Path.Data>
|
||
</Path>
|
||
<Path Fill="#3B82F6">
|
||
<Path.Data>
|
||
<PathGeometry>
|
||
<PathFigure StartPoint="47,50" IsClosed="True">
|
||
<LineSegment Point="22,33"/>
|
||
<LineSegment Point="5,50"/>
|
||
<LineSegment Point="22,67"/>
|
||
</PathFigure>
|
||
</PathGeometry>
|
||
</Path.Data>
|
||
</Path>
|
||
</Grid>
|
||
</Viewbox>
|
||
</Border>
|
||
<TextBlock Text="Administrador" Foreground="#CBD5E1" FontSize="13"
|
||
Margin="8 0 6 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="▾" Foreground="#334155" FontSize="10" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Border>
|
||
<Button Width="30" Height="30" Margin="8 0 0 0"
|
||
BorderThickness="0" Cursor="Hand" Click="BtnFechar_Click">
|
||
<Button.Style>
|
||
<Style TargetType="Button">
|
||
<Setter Property="Background" Value="Transparent"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="Button">
|
||
<Border x:Name="bd" Background="{TemplateBinding Background}"
|
||
CornerRadius="8" Width="30" Height="30">
|
||
<TextBlock Text="✕" FontSize="11" Foreground="#334155"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
<ControlTemplate.Triggers>
|
||
<Trigger Property="IsMouseOver" Value="True">
|
||
<Setter TargetName="bd" Property="Background" Value="#C53030"/>
|
||
</Trigger>
|
||
</ControlTemplate.Triggers>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
</Button.Style>
|
||
</Button>
|
||
</StackPanel>
|
||
</Grid>
|
||
</Border>
|
||
|
||
<!-- CORPO -->
|
||
<Grid Grid.Row="1">
|
||
<Grid.ColumnDefinitions>
|
||
<!-- ✅ Sidebar: largura fixa razoável, mas com MinWidth -->
|
||
<ColumnDefinition Width="180" MinWidth="160"/>
|
||
<!-- ✅ Conteúdo: ocupa todo o resto -->
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<!-- SIDEBAR -->
|
||
<Border BorderThickness="0 0 1 0" BorderBrush="#1E2D4A">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#0A1020" Offset="0"/>
|
||
<GradientStop Color="#0D1117" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<Grid>
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="*"/>
|
||
<RowDefinition Height="Auto"/>
|
||
</Grid.RowDefinitions>
|
||
<StackPanel Margin="10 14 10 0">
|
||
<Button Style="{StaticResource SidebarBtnActive}" Margin="0 0 0 2">
|
||
<StackPanel Orientation="Horizontal">
|
||
<Border Width="26" Height="26" CornerRadius="8" Background="#1A3A6E" Margin="0 0 10 0">
|
||
<TextBlock Text="◈" Foreground="#3B82F6" FontSize="13"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
<TextBlock Text="Dashboard" Foreground="#F1F5F9"
|
||
FontWeight="SemiBold" FontSize="13" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
<Button Style="{StaticResource SidebarBtn}" Margin="0 0 0 2">
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock Text="👥" FontSize="13" Width="26" TextAlignment="Center"
|
||
Margin="0 0 10 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Cadastro" Foreground="#64748B" FontSize="13" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
<Button Style="{StaticResource SidebarBtn}" Margin="0 0 0 2">
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock Text="📊" FontSize="13" Width="26" TextAlignment="Center"
|
||
Margin="0 0 10 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Relatórios" Foreground="#64748B" FontSize="13" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
<Button Style="{StaticResource SidebarBtn}" Margin="0 0 0 2">
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock Text="⚙" FontSize="13" Width="26" TextAlignment="Center"
|
||
Margin="0 0 10 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Configurações" Foreground="#64748B" FontSize="13" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
<Button Style="{StaticResource SidebarBtn}">
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock Text="❓" FontSize="13" Width="26" TextAlignment="Center"
|
||
Margin="0 0 10 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Ajuda" Foreground="#64748B" FontSize="13" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
</StackPanel>
|
||
<StackPanel Grid.Row="1" Margin="14 0 14 14">
|
||
<Rectangle Height="1" Fill="#1E2D4A" Margin="0 0 0 10"/>
|
||
<StackPanel Orientation="Horizontal" Margin="0 0 0 4">
|
||
<Ellipse Width="7" Height="7" Fill="#22C55E" Margin="0 0 6 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Usuários Ativos" Foreground="#334155" FontSize="11"/>
|
||
</StackPanel>
|
||
<TextBlock Foreground="#22C55E" FontSize="13" FontWeight="Bold" Margin="13 0 0 0">
|
||
<Run Text="15 "/>
|
||
<Run Text="Online" FontWeight="Normal" Foreground="#22C55E"/>
|
||
</TextBlock>
|
||
<TextBlock Text="© 2026 Levelcode" Foreground="#1E2D4A" FontSize="10" Margin="0 8 0 0"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
</Border>
|
||
|
||
<!-- CONTEÚDO PRINCIPAL -->
|
||
<ScrollViewer Grid.Column="1"
|
||
VerticalScrollBarVisibility="Auto"
|
||
HorizontalScrollBarVisibility="Disabled"
|
||
Background="#0D1117"
|
||
Padding="0 0 2 0"
|
||
CanContentScroll="False">
|
||
<!-- ✅ Grid principal usa proporções, não larguras fixas -->
|
||
<Grid Margin="16" HorizontalAlignment="Stretch" VerticalAlignment="Top">
|
||
<Grid.ColumnDefinitions>
|
||
<!-- Formulário: 24% da largura, min 260, max 340 -->
|
||
<ColumnDefinition Width="0.24*" MinWidth="260" MaxWidth="340"/>
|
||
<!-- Conteúdo direito: resto -->
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<!-- COLUNA ESQUERDA: FORM -->
|
||
<Border CornerRadius="14" BorderThickness="1" BorderBrush="#1E2D4A"
|
||
Margin="0 0 14 0" Padding="18">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#111827" Offset="0"/>
|
||
<GradientStop Color="#0F1A2E" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<StackPanel>
|
||
<Grid Margin="0 0 0 16">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="Auto"/>
|
||
</Grid.ColumnDefinitions>
|
||
<TextBlock Text="Cadastro de Pessoa" Foreground="#F1F5F9"
|
||
FontSize="15" FontWeight="Bold" VerticalAlignment="Center"/>
|
||
<Border Grid.Column="1" Width="26" Height="26" CornerRadius="7"
|
||
Background="#1E2D4A" Cursor="Hand">
|
||
<TextBlock Text="‹" Foreground="#64748B" FontSize="15"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
</Grid>
|
||
|
||
<Grid Margin="0 0 0 12">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="80"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<Border Width="70" Height="70" CornerRadius="12" BorderThickness="1.5"
|
||
BorderBrush="#1E2D4A" Background="#0D1525" Cursor="Hand">
|
||
<Grid>
|
||
<TextBlock Text="📷" FontSize="20"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
<Border Width="18" Height="18" CornerRadius="9"
|
||
HorizontalAlignment="Right" VerticalAlignment="Bottom"
|
||
Margin="0 0 -3 -3">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#3B82F6" Offset="0"/>
|
||
<GradientStop Color="#2563EB" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<TextBlock Text="+" Foreground="White" FontSize="11"
|
||
FontWeight="Bold" HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"/>
|
||
</Border>
|
||
</Grid>
|
||
</Border>
|
||
<StackPanel Grid.Column="1" Margin="10 0 0 0">
|
||
<TextBlock Text="Nome Completo *" Style="{StaticResource FieldLabel}"/>
|
||
<TextBox Style="{StaticResource InputStyle}" Foreground="#4A5568"
|
||
Text="Digite o nome completo" Margin="0 0 0 8"/>
|
||
<TextBlock Text="Email *" Style="{StaticResource FieldLabel}"/>
|
||
<TextBox Style="{StaticResource InputStyle}" Foreground="#4A5568"
|
||
Text="exemplo@email.com"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
|
||
<TextBlock Text="Telefone" Style="{StaticResource FieldLabel}"/>
|
||
<TextBox Style="{StaticResource InputStyle}" Text="(xx) xxxxx-xxxx"
|
||
Foreground="#4A5568" Margin="0 0 0 12"/>
|
||
|
||
<Grid Margin="0 0 0 12">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="100"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel>
|
||
<TextBlock Text="Data de Nascimento" Style="{StaticResource FieldLabel}"/>
|
||
<Border Background="#131E35" BorderBrush="#1E2D4A"
|
||
BorderThickness="1" CornerRadius="8" Height="36">
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="34"/>
|
||
</Grid.ColumnDefinitions>
|
||
<TextBlock Text="dd/mm/aaaa" Foreground="#4A5568"
|
||
FontSize="13" Margin="10 0 0 0" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="1" Text="📅" FontSize="13"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Grid>
|
||
</Border>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="1" Margin="10 0 0 0">
|
||
<TextBlock Text="Sexo" Style="{StaticResource FieldLabel}"/>
|
||
<RadioButton Content="Masculino" Style="{StaticResource RadioStyle}" IsChecked="True" Margin="0 1"/>
|
||
<RadioButton Content="Feminino" Style="{StaticResource RadioStyle}" Margin="0 1"/>
|
||
<RadioButton Content="Outro" Style="{StaticResource RadioStyle}" Margin="0 1"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
|
||
<TextBlock Text="CEP" Style="{StaticResource FieldLabel}"/>
|
||
<Grid Margin="0 0 0 12">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="70"/>
|
||
</Grid.ColumnDefinitions>
|
||
<TextBox Style="{StaticResource InputStyle}" Text="xxxxx-xxx"
|
||
Foreground="#4A5568" Margin="0 0 8 0"/>
|
||
<Button Grid.Column="1" Content="Buscar" Style="{StaticResource BtnPrimary}"
|
||
Height="36" Padding="0">
|
||
<Button.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#3B82F6" Offset="0"/>
|
||
<GradientStop Color="#2563EB" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Button.Background>
|
||
</Button>
|
||
</Grid>
|
||
|
||
<Grid Margin="0 0 0 12">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="66"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel>
|
||
<TextBlock Text="Endereço" Style="{StaticResource FieldLabel}"/>
|
||
<TextBox Style="{StaticResource InputStyle}" Text="Rua, Avenida..."
|
||
Foreground="#4A5568" Margin="0 0 8 0"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="1">
|
||
<TextBlock Text="Número" Style="{StaticResource FieldLabel}"/>
|
||
<TextBox Style="{StaticResource InputStyle}"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
|
||
<Grid Margin="0 0 0 12">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel>
|
||
<TextBlock Text="Bairro" Style="{StaticResource FieldLabel}"/>
|
||
<TextBox Style="{StaticResource InputStyle}" Margin="0 0 8 0"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="1">
|
||
<TextBlock Text="Cidade" Style="{StaticResource FieldLabel}"/>
|
||
<TextBox Style="{StaticResource InputStyle}"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
|
||
<TextBlock Text="Estado" Style="{StaticResource FieldLabel}"/>
|
||
<ComboBox Style="{StaticResource ComboStyle}" Margin="0 0 0 12">
|
||
<ComboBoxItem Content="Selecione..." IsSelected="True"/>
|
||
<ComboBoxItem Content="São Paulo"/>
|
||
<ComboBoxItem Content="Rio de Janeiro"/>
|
||
<ComboBoxItem Content="Minas Gerais"/>
|
||
<ComboBoxItem Content="Paraná"/>
|
||
<ComboBoxItem Content="Bahia"/>
|
||
</ComboBox>
|
||
|
||
<Grid Margin="0 0 0 16">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel>
|
||
<TextBlock Text="Cargo" Style="{StaticResource FieldLabel}"/>
|
||
<TextBox Style="{StaticResource InputStyle}" Text="Ex: Analista"
|
||
Foreground="#4A5568" Margin="0 0 8 0"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="1">
|
||
<TextBlock Text="Data de Cadastro" Style="{StaticResource FieldLabel}"/>
|
||
<Border Background="#131E35" BorderBrush="#1E2D4A"
|
||
BorderThickness="1" CornerRadius="8" Height="36">
|
||
<StackPanel Orientation="Horizontal" Margin="8 0">
|
||
<TextBlock Text="📅" FontSize="12" Margin="0 0 5 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="24/04/2024" Foreground="#CBD5E1"
|
||
FontSize="12" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Border>
|
||
</StackPanel>
|
||
</Grid>
|
||
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="100"/>
|
||
</Grid.ColumnDefinitions>
|
||
<Button Height="38" Style="{StaticResource BtnPrimary}"
|
||
Padding="0" Margin="0 0 8 0">
|
||
<Button.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#3B82F6" Offset="0"/>
|
||
<GradientStop Color="#2563EB" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Button.Background>
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock Text="👤" FontSize="12" Margin="0 0 5 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Salvar Pessoa" FontSize="12"
|
||
FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
<Button Grid.Column="1" Content="↺ Limpar" Height="38"
|
||
Style="{StaticResource BtnOutline}" Padding="0" Foreground="#64748B"/>
|
||
</Grid>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- COLUNA DIREITA -->
|
||
<StackPanel Grid.Column="1">
|
||
|
||
<!-- ✅ Cards de stat: 4 colunas iguais, totalmente fluidas -->
|
||
<Grid Margin="0 0 0 14">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<Border CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A" Padding="14 12" Margin="0 0 8 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#111827" Offset="0"/>
|
||
<GradientStop Color="#0F1A2E" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<StackPanel>
|
||
<StackPanel Orientation="Horizontal" Margin="0 0 0 6">
|
||
<TextBlock Text="👥" FontSize="14" Margin="0 0 7 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Total de Pessoas" Foreground="#64748B" FontSize="11" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock x:Name="TxtTotalCadastros" Text="1.248" Foreground="#F1F5F9" FontSize="24" FontWeight="Bold"/>
|
||
<Border Background="#0D2A1A" CornerRadius="6" Padding="5 2" Margin="8 0 0 0" VerticalAlignment="Center">
|
||
<TextBlock x:Name="TxtCrescimento" Foreground="#22C55E" FontSize="11" FontWeight="SemiBold">
|
||
<Run Text="↑ "/><Run Text="12%"/>
|
||
</TextBlock>
|
||
</Border>
|
||
</StackPanel>
|
||
</StackPanel>
|
||
</Border>
|
||
<Border Grid.Column="1" CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A" Padding="14 12" Margin="0 0 8 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#111827" Offset="0"/>
|
||
<GradientStop Color="#0F1A2E" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<StackPanel>
|
||
<StackPanel Orientation="Horizontal" Margin="0 0 0 6">
|
||
<TextBlock Text="👤" FontSize="14" Margin="0 0 7 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Novas Hoje" Foreground="#64748B" FontSize="11" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
<TextBlock x:Name="lblCadHoje" Text="32" Foreground="#F1F5F9" FontSize="24" FontWeight="Bold"/>
|
||
</StackPanel>
|
||
</Border>
|
||
<Border Grid.Column="2" CornerRadius="12" BorderThickness="1" BorderBrush="#1A3A2A" Padding="14 12" Margin="0 0 8 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#0D1F16" Offset="0"/>
|
||
<GradientStop Color="#0A1A12" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<StackPanel>
|
||
<StackPanel Orientation="Horizontal" Margin="0 0 0 6">
|
||
<TextBlock Text="✅" FontSize="13" Margin="0 0 7 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Ativas" Foreground="#22C55E" FontSize="11" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
<TextBlock x:Name="TxtAtivos" Text="1.102" Foreground="#F1F5F9" FontSize="24" FontWeight="Bold"/>
|
||
</StackPanel>
|
||
</Border>
|
||
<Border Grid.Column="3" CornerRadius="12" BorderThickness="1" BorderBrush="#3A1A1A" Padding="14 12">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#1F0D0D" Offset="0"/>
|
||
<GradientStop Color="#180A0A" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<StackPanel>
|
||
<StackPanel Orientation="Horizontal" Margin="0 0 0 6">
|
||
<TextBlock Text="🚫" FontSize="13" Margin="0 0 7 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Inativas" Foreground="#EF4444" FontSize="11" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
<TextBlock x:Name="TxtInativos" Text="146" Foreground="#F1F5F9" FontSize="24" FontWeight="Bold"/>
|
||
</StackPanel>
|
||
</Border>
|
||
</Grid>
|
||
|
||
<TextBlock Text="Gráficos e Estatísticas" Foreground="#F1F5F9"
|
||
FontSize="14" FontWeight="SemiBold" Margin="0 0 0 10"/>
|
||
|
||
<!-- ✅ Gráficos: 2 colunas iguais e fluidas -->
|
||
<Grid Margin="0 0 0 14">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<Border CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A" Padding="16 14" Margin="0 0 8 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#111827" Offset="0"/>
|
||
<GradientStop Color="#0F1A2E" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<StackPanel>
|
||
<!-- Título + subtítulo -->
|
||
<Grid Margin="0 0 0 14">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="Auto"/>
|
||
</Grid.ColumnDefinitions>
|
||
<TextBlock Text="Distribuição por Sexo" Foreground="#CBD5E1"
|
||
FontSize="13" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
<Border Grid.Column="1" Background="#0D1A2E" CornerRadius="6" Padding="8 3">
|
||
<TextBlock Text="Total cadastrado" Foreground="#334155" FontSize="10"/>
|
||
</Border>
|
||
</Grid>
|
||
|
||
<!-- Barra Masculino -->
|
||
<Grid Margin="0 0 0 12">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="10"/>
|
||
</Grid.RowDefinitions>
|
||
<Grid Margin="0 0 0 5">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="Auto"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="Auto"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel Orientation="Horizontal">
|
||
<Border Width="10" Height="10" CornerRadius="3"
|
||
Margin="0 0 7 0" VerticalAlignment="Center">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#60A5FA" Offset="0"/>
|
||
<GradientStop Color="#3B82F6" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
</Border>
|
||
<TextBlock Text="Masculino" Foreground="#94A3B8" FontSize="12" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
<TextBlock x:Name="TxtMasc" Grid.Column="2"
|
||
Text="52%" Foreground="#60A5FA"
|
||
FontSize="13" FontWeight="Bold" VerticalAlignment="Center"/>
|
||
</Grid>
|
||
<!-- Trilha da barra -->
|
||
<Border Grid.Row="1" CornerRadius="5" Background="#0D1A2E">
|
||
<Border x:Name="BarMasc" CornerRadius="5" Height="10"
|
||
HorizontalAlignment="Left" Width="130">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#60A5FA" Offset="0"/>
|
||
<GradientStop Color="#3B82F6" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<Border.Effect>
|
||
<DropShadowEffect Color="#3B82F6" BlurRadius="6"
|
||
ShadowDepth="0" Opacity="0.5"/>
|
||
</Border.Effect>
|
||
</Border>
|
||
</Border>
|
||
</Grid>
|
||
|
||
<!-- Barra Feminino -->
|
||
<Grid Margin="0 0 0 12">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="10"/>
|
||
</Grid.RowDefinitions>
|
||
<Grid Margin="0 0 0 5">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="Auto"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="Auto"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel Orientation="Horizontal">
|
||
<Border Width="10" Height="10" CornerRadius="3"
|
||
Margin="0 0 7 0" VerticalAlignment="Center">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#F472B6" Offset="0"/>
|
||
<GradientStop Color="#EC4899" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
</Border>
|
||
<TextBlock Text="Feminino" Foreground="#94A3B8" FontSize="12" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
<TextBlock x:Name="TxtFem" Grid.Column="2"
|
||
Text="43%" Foreground="#F472B6"
|
||
FontSize="13" FontWeight="Bold" VerticalAlignment="Center"/>
|
||
</Grid>
|
||
<Border Grid.Row="1" CornerRadius="5" Background="#0D1A2E">
|
||
<Border x:Name="BarFem" CornerRadius="5" Height="10"
|
||
HorizontalAlignment="Left" Width="107">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#F472B6" Offset="0"/>
|
||
<GradientStop Color="#EC4899" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<Border.Effect>
|
||
<DropShadowEffect Color="#EC4899" BlurRadius="6"
|
||
ShadowDepth="0" Opacity="0.5"/>
|
||
</Border.Effect>
|
||
</Border>
|
||
</Border>
|
||
</Grid>
|
||
|
||
<!-- Barra Outro -->
|
||
<Grid>
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="10"/>
|
||
</Grid.RowDefinitions>
|
||
<Grid Margin="0 0 0 5">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="Auto"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="Auto"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel Orientation="Horizontal">
|
||
<Border Width="10" Height="10" CornerRadius="3"
|
||
Margin="0 0 7 0" VerticalAlignment="Center">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#FCD34D" Offset="0"/>
|
||
<GradientStop Color="#F59E0B" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
</Border>
|
||
<TextBlock Text="Outro" Foreground="#94A3B8" FontSize="12" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
<TextBlock x:Name="TxtOutros" Grid.Column="2"
|
||
Text="5%" Foreground="#FCD34D"
|
||
FontSize="13" FontWeight="Bold" VerticalAlignment="Center"/>
|
||
</Grid>
|
||
<Border Grid.Row="1" CornerRadius="5" Background="#0D1A2E">
|
||
<Border x:Name="BarOutros" CornerRadius="5" Height="10"
|
||
HorizontalAlignment="Left" Width="12">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#FCD34D" Offset="0"/>
|
||
<GradientStop Color="#F59E0B" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<Border.Effect>
|
||
<DropShadowEffect Color="#F59E0B" BlurRadius="6"
|
||
ShadowDepth="0" Opacity="0.5"/>
|
||
</Border.Effect>
|
||
</Border>
|
||
</Border>
|
||
</Grid>
|
||
|
||
<!-- Rodapé: total visual -->
|
||
<Border Margin="0 14 0 0" Background="#0D1A2E" CornerRadius="8" Padding="10 8">
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel HorizontalAlignment="Center">
|
||
<TextBlock Text="♂" Foreground="#3B82F6" FontSize="16"
|
||
HorizontalAlignment="Center"/>
|
||
<TextBlock x:Name="TxtMascTotal" Text="—"
|
||
Foreground="#F1F5F9" FontSize="12" FontWeight="Bold"
|
||
HorizontalAlignment="Center"/>
|
||
<TextBlock Text="Masculino." Foreground="#334155"
|
||
FontSize="10" HorizontalAlignment="Center"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="1" HorizontalAlignment="Center">
|
||
<TextBlock Text="♀" Foreground="#EC4899" FontSize="16"
|
||
HorizontalAlignment="Center"/>
|
||
<TextBlock x:Name="TxtFemTotal" Text="—"
|
||
Foreground="#F1F5F9" FontSize="12" FontWeight="Bold"
|
||
HorizontalAlignment="Center"/>
|
||
<TextBlock Text="Feminino." Foreground="#334155"
|
||
FontSize="10" HorizontalAlignment="Center"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="2" HorizontalAlignment="Center">
|
||
<TextBlock Text="⚧" Foreground="#F59E0B" FontSize="16"
|
||
HorizontalAlignment="Center"/>
|
||
<TextBlock x:Name="TxtOutrosTotal" Text="—"
|
||
Foreground="#F1F5F9" FontSize="12" FontWeight="Bold"
|
||
HorizontalAlignment="Center"/>
|
||
<TextBlock Text="Outro" Foreground="#334155"
|
||
FontSize="10" HorizontalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
</Border>
|
||
|
||
</StackPanel>
|
||
</Border>
|
||
<Border Grid.Column="1" CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A" Padding="14">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#111827" Offset="0"/>
|
||
<GradientStop Color="#0F1A2E" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<StackPanel>
|
||
<TextBlock Text="Novos Cadastros (Últimos 6 Meses)" Foreground="#CBD5E1"
|
||
FontSize="12" FontWeight="SemiBold" Margin="0 0 0 12"/>
|
||
<Grid Height="120">
|
||
<StackPanel VerticalAlignment="Stretch" Margin="28 0 0 18">
|
||
<Rectangle Height="1" Fill="#1E2D4A" Margin="0 0 0 22"/>
|
||
<Rectangle Height="1" Fill="#1E2D4A" Margin="0 0 0 22"/>
|
||
<Rectangle Height="1" Fill="#1E2D4A" Margin="0 0 0 22"/>
|
||
<Rectangle Height="1" Fill="#1E2D4A"/>
|
||
</StackPanel>
|
||
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="26" Margin="0 0 0 16">
|
||
<TextBlock Text="200" Foreground="#334155" FontSize="9" TextAlignment="Right"/>
|
||
<TextBlock Text="150" Foreground="#334155" FontSize="9" TextAlignment="Right" Margin="0 15 0 0"/>
|
||
<TextBlock Text="100" Foreground="#334155" FontSize="9" TextAlignment="Right" Margin="0 15 0 0"/>
|
||
<TextBlock Text="50" Foreground="#334155" FontSize="9" TextAlignment="Right" Margin="0 15 0 0"/>
|
||
<TextBlock Text="0" Foreground="#334155" FontSize="9" TextAlignment="Right" Margin="0 9 0 0"/>
|
||
</StackPanel>
|
||
<Grid Margin="30 4 0 0" VerticalAlignment="Bottom">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel VerticalAlignment="Bottom" Margin="3 0">
|
||
<Border Height="44" CornerRadius="3 3 0 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||
<GradientStop Color="#3B82F6" Offset="0"/>
|
||
<GradientStop Color="#1D4ED8" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
</Border>
|
||
<TextBlock Text="Out" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="1" VerticalAlignment="Bottom" Margin="3 0">
|
||
<Border Height="60" CornerRadius="3 3 0 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||
<GradientStop Color="#3B82F6" Offset="0"/>
|
||
<GradientStop Color="#1D4ED8" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
</Border>
|
||
<TextBlock Text="Nov" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="2" VerticalAlignment="Bottom" Margin="3 0">
|
||
<Border Height="74" CornerRadius="3 3 0 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||
<GradientStop Color="#60A5FA" Offset="0"/>
|
||
<GradientStop Color="#3B82F6" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
</Border>
|
||
<TextBlock Text="Dez" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="3" VerticalAlignment="Bottom" Margin="3 0">
|
||
<Border Height="88" CornerRadius="3 3 0 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||
<GradientStop Color="#60A5FA" Offset="0"/>
|
||
<GradientStop Color="#3B82F6" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
</Border>
|
||
<TextBlock Text="Jan" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="4" VerticalAlignment="Bottom" Margin="3 0">
|
||
<Border Height="96" CornerRadius="3 3 0 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||
<GradientStop Color="#38BDF8" Offset="0"/>
|
||
<GradientStop Color="#3B82F6" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<Border.Effect>
|
||
<DropShadowEffect Color="#3B82F6" BlurRadius="7" ShadowDepth="0" Opacity="0.4"/>
|
||
</Border.Effect>
|
||
</Border>
|
||
<TextBlock Text="Fev" Foreground="#334155" FontSize="9" TextAlignment="Center" Margin="0 3 0 0"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="5" VerticalAlignment="Bottom" Margin="3 0">
|
||
<Border Height="91" CornerRadius="3 3 0 0">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||
<GradientStop Color="#22D3EE" Offset="0"/>
|
||
<GradientStop Color="#3B82F6" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<Border.Effect>
|
||
<DropShadowEffect Color="#22D3EE" BlurRadius="9" ShadowDepth="0" Opacity="0.4"/>
|
||
</Border.Effect>
|
||
</Border>
|
||
<TextBlock Text="Mar" Foreground="#64748B" FontSize="9" FontWeight="SemiBold" TextAlignment="Center" Margin="0 3 0 0"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
</Grid>
|
||
</StackPanel>
|
||
</Border>
|
||
</Grid>
|
||
|
||
<!-- Tabela -->
|
||
<Border CornerRadius="12" BorderThickness="1" BorderBrush="#1E2D4A">
|
||
<Border.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#111827" Offset="0"/>
|
||
<GradientStop Color="#0F1A2E" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Border.Background>
|
||
<StackPanel>
|
||
|
||
<Grid Margin="14 12">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="Auto"/>
|
||
</Grid.ColumnDefinitions>
|
||
<TextBlock Text="Lista de Pessoas" Foreground="#F1F5F9"
|
||
FontSize="13" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
<StackPanel Grid.Column="1" Orientation="Horizontal">
|
||
<Border Background="#131E35" BorderBrush="#1E2D4A" BorderThickness="1"
|
||
CornerRadius="8" Height="30" Width="150" Margin="0 0 7 0">
|
||
<StackPanel Orientation="Horizontal" Margin="8 0">
|
||
<TextBlock Text="🔍" FontSize="11" Foreground="#334155"
|
||
VerticalAlignment="Center" Margin="0 0 5 0"/>
|
||
<TextBlock Text="Pesquisar..." Foreground="#334155"
|
||
FontSize="12" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Border>
|
||
<Button Height="30" Padding="10 0" Style="{StaticResource BtnOutline}" Margin="0 0 7 0">
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock Text="⚡" FontSize="11" Margin="0 0 4 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Filtrar" FontSize="12" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
<Button x:Name="BtnNovoCadastro"
|
||
Height="30" Padding="10 0"
|
||
Style="{StaticResource BtnPrimary}"
|
||
Click="BtnNovoCadastro_Click">
|
||
<Button.Background>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||
<GradientStop Color="#059669" Offset="0"/>
|
||
<GradientStop Color="#047857" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Button.Background>
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock Text="+" FontSize="14" FontWeight="Bold"
|
||
Margin="0 0 4 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Novo Cadastro" FontSize="12" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
</StackPanel>
|
||
</Grid>
|
||
|
||
<!-- ✅ Cabeçalho da tabela com colunas fluidas -->
|
||
<Border Background="#0D1525" Padding="10 9">
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="32"/>
|
||
<ColumnDefinition Width="42"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="1.2*"/>
|
||
<ColumnDefinition Width="110"/>
|
||
<ColumnDefinition Width="100"/>
|
||
<ColumnDefinition Width="90"/>
|
||
<ColumnDefinition Width="65"/>
|
||
</Grid.ColumnDefinitions>
|
||
<CheckBox Style="{StaticResource CheckStyle}" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="1" Text="Foto" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="2" Text="NOME" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="3" Text="EMAIL" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="4" Text="TELEFONE" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="5" Text="CIDADE" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="6" Text="NASCIMENTO" Foreground="#334155" FontSize="11" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="7" Text="AÇÕES" Foreground="#334155" FontSize="11" FontWeight="SemiBold"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Grid>
|
||
</Border>
|
||
|
||
<Border x:Name="LoadingPanel" Visibility="Collapsed" Padding="0 24">
|
||
<StackPanel HorizontalAlignment="Center">
|
||
<TextBlock Text="⏳" FontSize="26" HorizontalAlignment="Center" Margin="0 0 0 8"/>
|
||
<TextBlock Text="Carregando pessoas..." Foreground="#334155"
|
||
FontSize="13" HorizontalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<Border x:Name="EmptyPanel" Visibility="Collapsed" Padding="0 24">
|
||
<StackPanel HorizontalAlignment="Center">
|
||
<TextBlock Text="👥" FontSize="30" HorizontalAlignment="Center" Margin="0 0 0 8"/>
|
||
<TextBlock Text="Nenhuma pessoa encontrada" Foreground="#334155"
|
||
FontSize="13" HorizontalAlignment="Center"/>
|
||
<TextBlock Text="Tente ajustar o filtro ou cadastre uma nova pessoa."
|
||
Foreground="#1E2D4A" FontSize="12"
|
||
HorizontalAlignment="Center" Margin="0 4 0 0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- ✅ ItemsControl com colunas espelhando o cabeçalho -->
|
||
<ItemsControl x:Name="ListaPessoas">
|
||
<ItemsControl.ItemTemplate>
|
||
<DataTemplate>
|
||
<Border BorderBrush="#111827" BorderThickness="0 0 0 1" Padding="10 0">
|
||
<Border.Style>
|
||
<Style TargetType="Border">
|
||
<Setter Property="Background" Value="Transparent"/>
|
||
<Style.Triggers>
|
||
<Trigger Property="IsMouseOver" Value="True">
|
||
<Setter Property="Background" Value="#0F1A2E"/>
|
||
</Trigger>
|
||
</Style.Triggers>
|
||
</Style>
|
||
</Border.Style>
|
||
<Grid Height="44">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="32"/>
|
||
<ColumnDefinition Width="42"/>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="1.2*"/>
|
||
<ColumnDefinition Width="110"/>
|
||
<ColumnDefinition Width="100"/>
|
||
<ColumnDefinition Width="90"/>
|
||
<ColumnDefinition Width="65"/>
|
||
</Grid.ColumnDefinitions>
|
||
<CheckBox Style="{StaticResource CheckStyle}" VerticalAlignment="Center"/>
|
||
<Border Grid.Column="1" Width="30" Height="30" CornerRadius="15"
|
||
Background="{Binding AvatarBackground}" VerticalAlignment="Center">
|
||
<TextBlock Text="{Binding Iniciais}" Foreground="{Binding AvatarForeground}"
|
||
FontSize="10" FontWeight="Bold"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
<StackPanel Grid.Column="2" VerticalAlignment="Center" Margin="0 0 6 0">
|
||
<TextBlock Text="{Binding NomeCompleto}" Foreground="#CBD5E1"
|
||
FontSize="12" FontWeight="SemiBold" TextTrimming="CharacterEllipsis"/>
|
||
<TextBlock Text="{Binding Cargo}" Foreground="#334155"
|
||
FontSize="10" TextTrimming="CharacterEllipsis"/>
|
||
</StackPanel>
|
||
<TextBlock Grid.Column="3" Text="{Binding Email}" Foreground="#64748B"
|
||
FontSize="11" VerticalAlignment="Center"
|
||
TextTrimming="CharacterEllipsis" Margin="0 0 6 0"/>
|
||
<TextBlock Grid.Column="4" Text="{Binding Telefone}" Foreground="#64748B"
|
||
FontSize="11" VerticalAlignment="Center"/>
|
||
<TextBlock Grid.Column="5" Text="{Binding Cidade}" Foreground="#64748B"
|
||
FontSize="11" VerticalAlignment="Center" TextTrimming="CharacterEllipsis"/>
|
||
<TextBlock Grid.Column="6" Text="{Binding DataNascFormatada}" Foreground="#64748B"
|
||
FontSize="11" VerticalAlignment="Center"/>
|
||
<StackPanel Grid.Column="7" Orientation="Horizontal"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center">
|
||
<Border Width="26" Height="26" CornerRadius="7" Background="#1A3A6E"
|
||
Cursor="Hand" Margin="0 0 4 0" ToolTip="Editar">
|
||
<TextBlock Text="✏" Foreground="#3B82F6" FontSize="11"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
<Border Width="26" Height="26" CornerRadius="7" Background="#3A1A1A"
|
||
Cursor="Hand" ToolTip="Excluir">
|
||
<TextBlock Text="🗑" Foreground="#EF4444" FontSize="11"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||
</Border>
|
||
</StackPanel>
|
||
</Grid>
|
||
</Border>
|
||
</DataTemplate>
|
||
</ItemsControl.ItemTemplate>
|
||
</ItemsControl>
|
||
|
||
<!-- Paginação -->
|
||
<Border BorderThickness="0 1 0 0" BorderBrush="#111827">
|
||
<Grid Margin="14 9">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="Auto"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
||
<TextBlock Text="Exibindo " Foreground="#334155" FontSize="12"/>
|
||
<TextBlock x:Name="RunPaginaInfo" Text="1-10 de 1.248"
|
||
Foreground="#64748B" FontSize="12"/>
|
||
<TextBlock Text=" registros" Foreground="#334155" FontSize="12"/>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="1" Orientation="Horizontal">
|
||
<Button x:Name="BtnAnterior" Style="{StaticResource BtnOutline}"
|
||
Height="28" Padding="10 0" Click="BtnAnterior_Click" Margin="0 0 5 0">
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock Text="‹" FontSize="13" Margin="0 0 3 0" VerticalAlignment="Center"/>
|
||
<TextBlock Text="Anterior" FontSize="11" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
<ItemsControl x:Name="PaginacaoPanel">
|
||
<ItemsControl.ItemsPanel>
|
||
<ItemsPanelTemplate>
|
||
<StackPanel Orientation="Horizontal"/>
|
||
</ItemsPanelTemplate>
|
||
</ItemsControl.ItemsPanel>
|
||
<ItemsControl.ItemTemplate>
|
||
<DataTemplate>
|
||
<Border Width="28" Height="28" CornerRadius="7"
|
||
Margin="2 0" Cursor="Hand" BorderThickness="1">
|
||
<Border.Style>
|
||
<Style TargetType="Border">
|
||
<Setter Property="Background" Value="#131E35"/>
|
||
<Setter Property="BorderBrush" Value="#1E2D4A"/>
|
||
<Style.Triggers>
|
||
<DataTrigger Binding="{Binding IsActive}" Value="True">
|
||
<Setter Property="BorderBrush" Value="#3B82F6"/>
|
||
<Setter Property="Background">
|
||
<Setter.Value>
|
||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
|
||
<GradientStop Color="#3B82F6" Offset="0"/>
|
||
<GradientStop Color="#2563EB" Offset="1"/>
|
||
</LinearGradientBrush>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</DataTrigger>
|
||
</Style.Triggers>
|
||
</Style>
|
||
</Border.Style>
|
||
<TextBlock Text="{Binding Label}" FontSize="11"
|
||
FontWeight="{Binding FontWeight}"
|
||
HorizontalAlignment="Center" VerticalAlignment="Center">
|
||
<TextBlock.Style>
|
||
<Style TargetType="TextBlock">
|
||
<Setter Property="Foreground" Value="#64748B"/>
|
||
<Style.Triggers>
|
||
<DataTrigger Binding="{Binding IsActive}" Value="True">
|
||
<Setter Property="Foreground" Value="White"/>
|
||
</DataTrigger>
|
||
</Style.Triggers>
|
||
</Style>
|
||
</TextBlock.Style>
|
||
</TextBlock>
|
||
</Border>
|
||
</DataTemplate>
|
||
</ItemsControl.ItemTemplate>
|
||
</ItemsControl>
|
||
<Button x:Name="BtnProximo" Style="{StaticResource BtnOutline}"
|
||
Height="28" Padding="10 0" Click="BtnProximo_Click" Margin="5 0 0 0">
|
||
<StackPanel Orientation="Horizontal">
|
||
<TextBlock Text="Próximo" FontSize="11" VerticalAlignment="Center"/>
|
||
<TextBlock Text=" ›" FontSize="13" VerticalAlignment="Center"/>
|
||
</StackPanel>
|
||
</Button>
|
||
</StackPanel>
|
||
<StackPanel Grid.Column="2" Orientation="Horizontal"
|
||
HorizontalAlignment="Right" VerticalAlignment="Center">
|
||
<TextBlock Text="Itens por página:" Foreground="#334155"
|
||
FontSize="12" VerticalAlignment="Center" Margin="0 0 7 0"/>
|
||
<ComboBox x:Name="CmbItensPorPagina" Style="{StaticResource ComboStyle}"
|
||
Width="66" Height="28"
|
||
SelectionChanged="CmbItensPorPagina_SelectionChanged">
|
||
<ComboBoxItem Content="10" IsSelected="True"/>
|
||
<ComboBoxItem Content="25"/>
|
||
<ComboBoxItem Content="50"/>
|
||
<ComboBoxItem Content="100"/>
|
||
</ComboBox>
|
||
</StackPanel>
|
||
</Grid>
|
||
</Border>
|
||
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
</StackPanel>
|
||
</Grid>
|
||
</ScrollViewer>
|
||
|
||
</Grid>
|
||
</Grid>
|
||
|
||
</Window>
|