359 lines
16 KiB
XML
359 lines
16 KiB
XML
<?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>
|