Files
Stocky/lib/classes/styles.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);
}