Начальный коммит
This commit is contained in:
114
lib/classes/styles.dart
Normal file
114
lib/classes/styles.dart
Normal file
@@ -0,0 +1,114 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user