Files
friflex_flutter_starter/lib/app/app_context_ext.dart
Artem Luzin 4d746ce23c feat(theme): Добавить ThemeExtension для токенов цвета (#12)
* feat
* fix
* fix: исправил ширину строки
* feat: добавить визуальный элемент
2025-06-18 14:54:32 +03:00

26 lines
1.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:friflex_starter/app/theme/app_colors_scheme.dart';
import 'package:friflex_starter/app/theme/theme_notifier.dart';
import 'package:friflex_starter/di/di_container.dart';
import 'package:friflex_starter/l10n/gen/app_localizations.dart';
import 'package:friflex_starter/l10n/localization_notifier.dart';
import 'package:provider/provider.dart';
/// Класс, реализующий расширение для контекста приложения
extension AppContextExt on BuildContext {
/// Метод для получения экземпляра DIContainer
DiContainer get di => read<DiContainer>();
/// Геттер для получения цветовой схемы
AppColors get colors => Theme.of(this).extension<AppColors>()!;
/// Геттер для получения темы
ThemeNotifier get theme => read<ThemeNotifier>();
/// Геттер для получения локализации
AppLocalizations get l10n => AppLocalizations.of(this)!;
/// Геттер для получения управления локализацией
LocalizationNotifier get localization => read<LocalizationNotifier>();
}