56 lines
1.7 KiB
Dart
56 lines
1.7 KiB
Dart
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<BoxShadow> get defaultShadow => [
|
|
BoxShadow(
|
|
color: const Color(0XFF1B3C59).withOpacity(0.25),
|
|
blurRadius: 16,
|
|
spreadRadius: 0,
|
|
)
|
|
];
|
|
|
|
static Brightness get brightness => Theme.of(context).brightness;
|
|
|
|
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),
|
|
);
|
|
}
|
|
}
|