import 'package:didvan/config/theme_data.dart'; import 'package:didvan/main.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; class DesignConfig { static BuildContext get context => navigatorKey.currentContext!; static const BorderRadius lowBorderRadius = BorderRadius.all( Radius.circular(8), ); static const BorderRadius mediumBorderRadius = BorderRadius.all( Radius.circular(10), ); static const BorderRadius highBorderRadius = BorderRadius.all( Radius.circular(16), ); static Border get cardBorder => Border.all( color: Theme.of(context).colorScheme.cardBorder, width: 0.5, ); static List get defaultShadow => [ BoxShadow( color: const Color(0XFF1B3C59).withOpacity(0.25), blurRadius: 16, spreadRadius: 0, ) ]; static Brightness get brightness => Theme.of(context).brightness; static bool get isDark => brightness == Brightness.dark; static const Duration lowAnimationDuration = Duration(milliseconds: 300); static const Duration mediumAnimationDuration = Duration(milliseconds: 600); static SystemUiOverlayStyle get systemUiOverlayStyle { return SystemUiOverlayStyle( statusBarIconBrightness: brightness == Brightness.dark ? Brightness.light : Brightness.dark, statusBarColor: Colors.transparent, systemNavigationBarColor: Theme.of(context).colorScheme.surface, systemNavigationBarDividerColor: Colors.transparent, systemNavigationBarIconBrightness: brightness == Brightness.dark ? Brightness.light : Brightness.dark, ); } static void updateSystemUiOverlayStyle() { Future.delayed( DesignConfig.lowAnimationDuration, () => SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle), ); } }