import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

class ThemeConfig {
  //亮色模式模式下的状态栏与导航栏设置 （默认黑色状态栏文本，白色导航栏）
  static SystemUiOverlayStyle get systemUiOverlayStyleLightThemeBlack {
    return SystemUiOverlayStyle.light.copyWith(
      statusBarColor: Colors.transparent,
      //顶部导航栏的状态栏背景颜色
      statusBarBrightness: Brightness.light,
      //顶部状态栏颜色模式
      statusBarIconBrightness: Brightness.dark,
      //顶部状态栏Icon与文本颜色模式
      systemNavigationBarDividerColor: Colors.transparent,
      //底部导航栏分割线颜色
      systemNavigationBarColor: Colors.white,
      //底部导航栏背景颜色
      systemNavigationBarIconBrightness: Brightness.dark, //底部导航栏三大金刚键的颜色模式
    );
  }

  //亮色模式模式下的状态栏与导航栏设置 （设置白色状态栏文本，白色导航栏）
  static SystemUiOverlayStyle get systemUiOverlayStyleLightThemeWhite {
    return SystemUiOverlayStyle.light.copyWith(
      statusBarColor: Colors.transparent,
      statusBarBrightness: Brightness.dark,
      statusBarIconBrightness: Brightness.light,
      systemNavigationBarDividerColor: Colors.transparent,
      systemNavigationBarColor: Colors.white,
      systemNavigationBarIconBrightness: Brightness.dark,
    );
  }

  //黑暗模式下，统一使用白色状态栏文本，黑色导航栏
  static SystemUiOverlayStyle get systemUiOverlayStyleDarkTheme {
    return SystemUiOverlayStyle.dark.copyWith(
      statusBarColor: Colors.transparent,
      statusBarBrightness: Brightness.dark,
      statusBarIconBrightness: Brightness.light,
    );
  }

  //根据上下文的亮色模式和暗色模式返回对应的 SystemUiOverlay 配置
  static SystemUiOverlayStyle getSystemUiOverlayStyleByTheme(BuildContext context) {
    late SystemUiOverlayStyle systemUiOverlayStyle;

    Brightness currentBrightness = MediaQuery.of(context).platformBrightness;
    if (currentBrightness == Brightness.dark) {
      systemUiOverlayStyle = systemUiOverlayStyleDarkTheme;
    } else {
      systemUiOverlayStyle = systemUiOverlayStyleLightThemeBlack;
    }

    return systemUiOverlayStyle;
  }

}
