359 lines
16 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" ?>
<?xaml-comp compile="true" ?>
<ResourceDictionary
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<!-- ================================================
CORP-MAUI Custom Application Styles
Кастомные стили приложения
================================================ -->
<!-- ================================
КАРТОЧКИ (Cards)
================================ -->
<!-- Базовая карточка для списков -->
<Style x:Key="CardBorder" TargetType="Border">
<Setter Property="Padding" Value="15"/>
<Setter Property="Margin" Value="10,5"/>
<Setter Property="StrokeShape" Value="RoundRectangle 10"/>
<Setter Property="BackgroundColor" Value="White"/>
<Setter Property="Stroke" Value="Transparent"/>
<Setter Property="Shadow">
<Setter.Value>
<Shadow Brush="Black" Opacity="0.15" Offset="0,2" Radius="4"/>
</Setter.Value>
</Setter>
</Style>
<!-- Карточка с увеличенным радиусом -->
<Style x:Key="CardBorderLarge" TargetType="Border" BasedOn="{StaticResource CardBorder}">
<Setter Property="StrokeShape" Value="RoundRectangle 15"/>
<Setter Property="Padding" Value="20"/>
</Style>
<!-- Секция/блок внутри страницы -->
<Style x:Key="SectionBorder" TargetType="Border">
<Setter Property="Padding" Value="15"/>
<Setter Property="StrokeShape" Value="RoundRectangle 10"/>
<Setter Property="BackgroundColor" Value="White"/>
<Setter Property="Stroke" Value="Transparent"/>
<Setter Property="Shadow">
<Setter.Value>
<Shadow Brush="Black" Opacity="0.2" Offset="0,2" Radius="4"/>
</Setter.Value>
</Setter>
</Style>
<!-- ================================
ПАНЕЛЬ ПОИСКА (Search)
================================ -->
<!-- Контейнер поиска -->
<Style x:Key="SearchContainerBorder" TargetType="Border">
<Setter Property="Padding" Value="15"/>
<Setter Property="BackgroundColor" Value="{StaticResource Gray100}"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<!-- SearchBar внутри контейнера -->
<Style x:Key="AppSearchBar" TargetType="SearchBar">
<Setter Property="PlaceholderColor" Value="{StaticResource Gray400}"/>
<Setter Property="TextColor" Value="{StaticResource Gray900}"/>
<Setter Property="BackgroundColor" Value="White"/>
</Style>
<!-- ================================
АВАТАРЫ (Avatars)
================================ -->
<!-- Маленький аватар (40x40) -->
<Style x:Key="AvatarSmall" TargetType="Border">
<Setter Property="WidthRequest" Value="40"/>
<Setter Property="HeightRequest" Value="40"/>
<Setter Property="StrokeShape" Value="RoundRectangle 20"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BackgroundColor" Value="{StaticResource Gray200}"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<!-- Средний аватар (50x50) -->
<Style x:Key="AvatarMedium" TargetType="Border">
<Setter Property="WidthRequest" Value="50"/>
<Setter Property="HeightRequest" Value="50"/>
<Setter Property="StrokeShape" Value="RoundRectangle 25"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BackgroundColor" Value="{StaticResource Gray200}"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<!-- Большой аватар (80x80) -->
<Style x:Key="AvatarLarge" TargetType="Border">
<Setter Property="WidthRequest" Value="80"/>
<Setter Property="HeightRequest" Value="80"/>
<Setter Property="StrokeShape" Value="RoundRectangle 40"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BackgroundColor" Value="{StaticResource Gray200}"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<!-- Очень большой аватар для профиля (120x120) -->
<Style x:Key="AvatarXLarge" TargetType="Border">
<Setter Property="WidthRequest" Value="120"/>
<Setter Property="HeightRequest" Value="120"/>
<Setter Property="StrokeShape" Value="RoundRectangle 60"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BackgroundColor" Value="{StaticResource Gray200}"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<!-- Индикатор онлайн статуса (маленький) -->
<Style x:Key="OnlineIndicatorSmall" TargetType="Border">
<Setter Property="WidthRequest" Value="12"/>
<Setter Property="HeightRequest" Value="12"/>
<Setter Property="StrokeShape" Value="RoundRectangle 6"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BackgroundColor" Value="LimeGreen"/>
<Setter Property="Stroke" Value="White"/>
<Setter Property="StrokeThickness" Value="2"/>
<Setter Property="VerticalOptions" Value="End"/>
<Setter Property="HorizontalOptions" Value="End"/>
</Style>
<!-- Индикатор онлайн статуса (средний) -->
<Style x:Key="OnlineIndicatorMedium" TargetType="Border">
<Setter Property="WidthRequest" Value="15"/>
<Setter Property="HeightRequest" Value="15"/>
<Setter Property="StrokeShape" Value="RoundRectangle 7.5"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BackgroundColor" Value="LimeGreen"/>
<Setter Property="Stroke" Value="White"/>
<Setter Property="StrokeThickness" Value="2"/>
<Setter Property="VerticalOptions" Value="End"/>
<Setter Property="HorizontalOptions" Value="End"/>
<Setter Property="Margin" Value="0,0,2,2"/>
</Style>
<!-- Индикатор онлайн статуса (большой) -->
<Style x:Key="OnlineIndicatorLarge" TargetType="Border">
<Setter Property="WidthRequest" Value="25"/>
<Setter Property="HeightRequest" Value="25"/>
<Setter Property="StrokeShape" Value="RoundRectangle 12.5"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BackgroundColor" Value="LimeGreen"/>
<Setter Property="Stroke" Value="White"/>
<Setter Property="StrokeThickness" Value="3"/>
<Setter Property="VerticalOptions" Value="End"/>
<Setter Property="HorizontalOptions" Value="End"/>
<Setter Property="Margin" Value="0,0,5,5"/>
</Style>
<!-- ================================
КНОПКИ (Buttons)
================================ -->
<!-- Круглая кнопка (иконка) -->
<Style x:Key="IconButton" TargetType="Border">
<Setter Property="WidthRequest" Value="40"/>
<Setter Property="HeightRequest" Value="40"/>
<Setter Property="StrokeShape" Value="RoundRectangle 20"/>
<Setter Property="BackgroundColor" Value="{StaticResource Primary}"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<!-- Кнопка-чип (для фильтров) -->
<Style x:Key="ChipButton" TargetType="Border">
<Setter Property="Padding" Value="12,8"/>
<Setter Property="StrokeShape" Value="RoundRectangle 20"/>
<Setter Property="BackgroundColor" Value="White"/>
<Setter Property="Stroke" Value="{StaticResource Gray300}"/>
</Style>
<!-- Активный чип -->
<Style x:Key="ChipButtonActive" TargetType="Border">
<Setter Property="Padding" Value="12,8"/>
<Setter Property="StrokeShape" Value="RoundRectangle 20"/>
<Setter Property="BackgroundColor" Value="{StaticResource Primary}"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<!-- Основная кнопка -->
<Style x:Key="PrimaryButton" TargetType="Button">
<Setter Property="BackgroundColor" Value="{StaticResource Primary}"/>
<Setter Property="TextColor" Value="White"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontAttributes" Value="Bold"/>
<Setter Property="HeightRequest" Value="50"/>
</Style>
<!-- Вторичная кнопка -->
<Style x:Key="SecondaryButton" TargetType="Button">
<Setter Property="BackgroundColor" Value="{StaticResource Gray200}"/>
<Setter Property="TextColor" Value="{StaticResource Gray900}"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="HeightRequest" Value="50"/>
</Style>
<!-- ================================
ТЕКСТ (Typography)
================================ -->
<!-- Заголовок карточки -->
<Style x:Key="CardTitle" TargetType="Label">
<Setter Property="FontSize" Value="18"/>
<Setter Property="FontAttributes" Value="Bold"/>
<Setter Property="TextColor" Value="{StaticResource Gray900}"/>
</Style>
<!-- Подзаголовок карточки -->
<Style x:Key="CardSubtitle" TargetType="Label">
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontAttributes" Value="Bold"/>
<Setter Property="TextColor" Value="{StaticResource Gray900}"/>
</Style>
<!-- Обычный текст в карточке -->
<Style x:Key="CardText" TargetType="Label">
<Setter Property="FontSize" Value="14"/>
<Setter Property="TextColor" Value="{StaticResource Gray600}"/>
</Style>
<!-- Мелкий текст (мета-информация) -->
<Style x:Key="CardMeta" TargetType="Label">
<Setter Property="FontSize" Value="12"/>
<Setter Property="TextColor" Value="{StaticResource Gray500}"/>
</Style>
<!-- Заголовок секции на странице -->
<Style x:Key="SectionTitle" TargetType="Label">
<Setter Property="FontSize" Value="20"/>
<Setter Property="FontAttributes" Value="Bold"/>
<Setter Property="TextColor" Value="{StaticResource Gray900}"/>
</Style>
<!-- Заголовок страницы (большой) -->
<Style x:Key="PageTitle" TargetType="Label">
<Setter Property="FontSize" Value="24"/>
<Setter Property="FontAttributes" Value="Bold"/>
<Setter Property="TextColor" Value="{StaticResource Gray900}"/>
<Setter Property="HorizontalOptions" Value="Center"/>
<Setter Property="HorizontalTextAlignment" Value="Center"/>
</Style>
<!-- Текст для пустых состояний -->
<Style x:Key="EmptyStateTitle" TargetType="Label">
<Setter Property="FontSize" Value="18"/>
<Setter Property="FontAttributes" Value="Bold"/>
<Setter Property="TextColor" Value="{StaticResource Gray600}"/>
<Setter Property="HorizontalOptions" Value="Center"/>
<Setter Property="HorizontalTextAlignment" Value="Center"/>
</Style>
<Style x:Key="EmptyStateText" TargetType="Label">
<Setter Property="FontSize" Value="14"/>
<Setter Property="TextColor" Value="{StaticResource Gray500}"/>
<Setter Property="HorizontalOptions" Value="Center"/>
<Setter Property="HorizontalTextAlignment" Value="Center"/>
</Style>
<!-- Иконка для пустого состояния -->
<Style x:Key="EmptyStateIcon" TargetType="Label">
<Setter Property="FontSize" Value="60"/>
<Setter Property="HorizontalOptions" Value="Center"/>
</Style>
<!-- ================================
БЕЙДЖИ/ТЕГИ (Badges)
================================ -->
<!-- Базовый бейдж -->
<Style x:Key="Badge" TargetType="Border">
<Setter Property="Padding" Value="10,4"/>
<Setter Property="StrokeShape" Value="RoundRectangle 12"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<!-- Бейдж успеха (зелёный) -->
<Style x:Key="BadgeSuccess" TargetType="Border" BasedOn="{StaticResource Badge}">
<Setter Property="BackgroundColor" Value="#22C55E"/>
</Style>
<!-- Бейдж ошибки (красный) -->
<Style x:Key="BadgeError" TargetType="Border" BasedOn="{StaticResource Badge}">
<Setter Property="BackgroundColor" Value="#EF4444"/>
</Style>
<!-- Бейдж предупреждения (оранжевый) -->
<Style x:Key="BadgeWarning" TargetType="Border" BasedOn="{StaticResource Badge}">
<Setter Property="BackgroundColor" Value="#F59E0B"/>
</Style>
<!-- Бейдж информации (синий) -->
<Style x:Key="BadgeInfo" TargetType="Border" BasedOn="{StaticResource Badge}">
<Setter Property="BackgroundColor" Value="#3B82F6"/>
</Style>
<!-- Текст бейджа -->
<Style x:Key="BadgeText" TargetType="Label">
<Setter Property="FontSize" Value="11"/>
<Setter Property="TextColor" Value="White"/>
<Setter Property="FontAttributes" Value="Bold"/>
</Style>
<!-- Тег/навык -->
<Style x:Key="SkillTag" TargetType="Border">
<Setter Property="Padding" Value="12,6"/>
<Setter Property="Margin" Value="5"/>
<Setter Property="StrokeShape" Value="RoundRectangle 15"/>
<Setter Property="BackgroundColor" Value="{StaticResource Gray100}"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<Style x:Key="SkillTagText" TargetType="Label">
<Setter Property="FontSize" Value="13"/>
<Setter Property="TextColor" Value="{StaticResource Gray600}"/>
</Style>
<!-- ================================
ИКОНКИ С ТЕКСТОМ (Icon + Text)
================================ -->
<!-- Мета-информация с иконкой -->
<Style x:Key="MetaIcon" TargetType="Label">
<Setter Property="FontSize" Value="14"/>
</Style>
<Style x:Key="MetaText" TargetType="Label">
<Setter Property="FontSize" Value="13"/>
<Setter Property="TextColor" Value="{StaticResource Gray700}"/>
</Style>
<!-- ================================
КОНТЕЙНЕРЫ (Containers)
================================ -->
<!-- Контейнер для пустого состояния -->
<Style x:Key="EmptyStateContainer" TargetType="VerticalStackLayout">
<Setter Property="VerticalOptions" Value="Center"/>
<Setter Property="HorizontalOptions" Value="Center"/>
<Setter Property="Padding" Value="50"/>
</Style>
<!-- Иконка-контейнер (для заявлений и т.д.) -->
<Style x:Key="IconContainer" TargetType="Border">
<Setter Property="WidthRequest" Value="45"/>
<Setter Property="HeightRequest" Value="45"/>
<Setter Property="StrokeShape" Value="RoundRectangle 10"/>
<Setter Property="BackgroundColor" Value="{StaticResource Gray100}"/>
<Setter Property="Stroke" Value="Transparent"/>
</Style>
<Style x:Key="IconContainerText" TargetType="Label">
<Setter Property="FontSize" Value="24"/>
<Setter Property="HorizontalOptions" Value="Center"/>
<Setter Property="VerticalOptions" Value="Center"/>
</Style>
</ResourceDictionary>