themeOf static method

GraphViewThemeData themeOf(
  1. BuildContext context
)

Implementation

static GraphViewThemeData themeOf(BuildContext context) {
  final brightness = Theme.of(context).brightness;

  GraphViewThemeData getDefaultTheme(bool useAppTheme) => useAppTheme
      ? GraphViewThemeData.theme(context)
      : switch (brightness) {
          Brightness.light => GraphViewThemeData.lightContrast(),
          Brightness.dark => GraphViewThemeData.darkContrast()
        };

  final configuration =
      context.dependOnInheritedWidgetOfExactType<GraphViewConfiguration>();

  late GraphViewThemeData theme;
  if (configuration != null) {
    theme = switch (brightness) {
      Brightness.light =>
        configuration.theme ?? getDefaultTheme(configuration.useAppTheme),
      Brightness.dark => configuration.darkTheme ??
          configuration.theme ??
          getDefaultTheme(configuration.useAppTheme)
    };
  } else {
    theme = getDefaultTheme(true);
  }
  return theme;
}