115 lines
3.0 KiB
Dart
115 lines
3.0 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
class AppStyles {
|
|
// Заголовки
|
|
static const TextStyle title = TextStyle(
|
|
fontSize: 20,
|
|
fontWeight: FontWeight.w900,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.black87,
|
|
);
|
|
|
|
static const TextStyle titleLarge = TextStyle(
|
|
fontSize: 24,
|
|
fontWeight: FontWeight.bold,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.black87,
|
|
);
|
|
|
|
static const TextStyle titleSmall = TextStyle(
|
|
fontSize: 18,
|
|
fontWeight: FontWeight.w600,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.black87,
|
|
);
|
|
|
|
// Тексты группировки/разделов
|
|
static const TextStyle sectionHeader = TextStyle(
|
|
fontSize: 16,
|
|
fontWeight: FontWeight.w700,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.black87,
|
|
);
|
|
|
|
// Основной текст
|
|
static const TextStyle body = TextStyle(
|
|
fontSize: 14,
|
|
fontWeight: FontWeight.normal,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.black87,
|
|
);
|
|
|
|
// Описание/вспомогательный текст
|
|
static const TextStyle description = TextStyle(
|
|
fontSize: 12,
|
|
fontWeight: FontWeight.normal,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.grey,
|
|
);
|
|
|
|
// Мелкий текст
|
|
static const TextStyle caption = TextStyle(
|
|
fontSize: 10,
|
|
fontWeight: FontWeight.normal,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.grey,
|
|
);
|
|
|
|
// Ссылки и кликабельные элементы
|
|
static const TextStyle link = TextStyle(
|
|
fontSize: 14,
|
|
fontWeight: FontWeight.w600,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.blue,
|
|
decoration: TextDecoration.underline,
|
|
);
|
|
|
|
// Статусы
|
|
static const TextStyle statusActive = TextStyle(
|
|
fontSize: 12,
|
|
fontWeight: FontWeight.w600,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.orange,
|
|
);
|
|
|
|
static const TextStyle statusCompleted = TextStyle(
|
|
fontSize: 12,
|
|
fontWeight: FontWeight.w600,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.green,
|
|
);
|
|
|
|
static const TextStyle statusPending = TextStyle(
|
|
fontSize: 12,
|
|
fontWeight: FontWeight.w600,
|
|
fontFamily: 'Geologica',
|
|
color: Colors.blue,
|
|
);
|
|
|
|
// Стили для иконок
|
|
static const double iconSizeLarge = 32.0;
|
|
static const double iconSizeMedium = 24.0;
|
|
static const double iconSizeSmall = 16.0;
|
|
|
|
static const Color iconColorPrimary = Colors.blue;
|
|
static const Color iconColorSecondary = Colors.grey;
|
|
static const Color iconColorAccent = Colors.orange;
|
|
|
|
// Вспомогательные методы для иконок
|
|
static Icon createPrimaryIcon(IconData icon, {double? size}) {
|
|
return Icon(icon, size: size ?? iconSizeMedium, color: iconColorPrimary);
|
|
}
|
|
|
|
static Icon createSecondaryIcon(IconData icon, {double? size}) {
|
|
return Icon(icon, size: size ?? iconSizeMedium, color: iconColorSecondary);
|
|
}
|
|
|
|
static Icon createAccentIcon(IconData icon, {double? size}) {
|
|
return Icon(icon, size: size ?? iconSizeMedium, color: iconColorAccent);
|
|
}
|
|
}
|
|
|
|
class AppColors {
|
|
static const Color backgroundColor = Color(0xFFF8F9FC);
|
|
}
|