// Copyright 2018 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; class GalleryTheme { const GalleryTheme._(this.name, this.data); final String name; final ThemeData data; } final GalleryTheme kDarkGalleryTheme = GalleryTheme._('Dark', _buildDarkTheme()); final GalleryTheme kLightGalleryTheme = GalleryTheme._('Light', _buildLightTheme()); TextTheme _buildTextTheme(TextTheme base) { return base.copyWith( title: base.title.copyWith( fontFamily: 'GoogleSans', ), ); } ThemeData _buildDarkTheme() { const Color primaryColor = Color(0xFF0175c2); const Color secondaryColor = Color(0xFF13B9FD); final ThemeData base = ThemeData.dark(); final ColorScheme colorScheme = const ColorScheme.dark().copyWith( primary: primaryColor, secondary: secondaryColor, ); return base.copyWith( primaryColor: primaryColor, buttonColor: primaryColor, indicatorColor: Colors.white, accentColor: secondaryColor, canvasColor: const Color(0xFF202124), scaffoldBackgroundColor: const Color(0xFF202124), backgroundColor: const Color(0xFF202124), errorColor: const Color(0xFFB00020), buttonTheme: ButtonThemeData( colorScheme: colorScheme, textTheme: ButtonTextTheme.primary, ), textTheme: _buildTextTheme(base.textTheme), primaryTextTheme: _buildTextTheme(base.primaryTextTheme), accentTextTheme: _buildTextTheme(base.accentTextTheme), ); } ThemeData _buildLightTheme() { const Color primaryColor = Color(0xFF0175c2); const Color secondaryColor = Color(0xFF13B9FD); final ColorScheme colorScheme = const ColorScheme.light().copyWith( primary: primaryColor, secondary: secondaryColor, ); final ThemeData base = ThemeData.light(); return base.copyWith( colorScheme: colorScheme, primaryColor: primaryColor, buttonColor: primaryColor, indicatorColor: Colors.white, splashColor: Colors.white24, splashFactory: InkRipple.splashFactory, accentColor: secondaryColor, canvasColor: Colors.white, scaffoldBackgroundColor: Colors.white, backgroundColor: Colors.white, errorColor: const Color(0xFFB00020), buttonTheme: ButtonThemeData( colorScheme: colorScheme, textTheme: ButtonTextTheme.primary, ), textTheme: _buildTextTheme(base.textTheme), primaryTextTheme: _buildTextTheme(base.primaryTextTheme), accentTextTheme: _buildTextTheme(base.accentTextTheme), ); }