// Copyright 2019 The Flutter team. 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'; import 'package:google_fonts/google_fonts.dart'; class GalleryThemeData { static const _lightFillColor = Colors.black; static const _darkFillColor = Colors.white; static Color _lightFocusColor = Colors.black.withOpacity(0.12); static Color _darkFocusColor = Colors.white.withOpacity(0.12); static ThemeData lightThemeData = themeData(lightColorScheme, _lightFocusColor); static ThemeData darkThemeData = themeData(darkColorScheme, _darkFocusColor); static ThemeData themeData(ColorScheme colorScheme, Color focusColor) { return ThemeData( colorScheme: colorScheme, textTheme: _textTheme, appBarTheme: AppBarTheme( textTheme: _textTheme.apply(bodyColor: colorScheme.onPrimary), color: colorScheme.background, elevation: 0, iconTheme: IconThemeData(color: colorScheme.primary), brightness: colorScheme.brightness, ), iconTheme: IconThemeData(color: colorScheme.onPrimary), canvasColor: colorScheme.background, scaffoldBackgroundColor: colorScheme.background, highlightColor: Colors.transparent, accentColor: colorScheme.primary, focusColor: focusColor, snackBarTheme: SnackBarThemeData( behavior: SnackBarBehavior.floating, backgroundColor: Color.alphaBlend( _lightFillColor.withOpacity(0.80), _darkFillColor, ), contentTextStyle: _textTheme.subhead.apply(color: _darkFillColor), ), ); } static ColorScheme lightColorScheme = ColorScheme( primary: const Color(0xFFB93C5D), primaryVariant: const Color(0xFF117378), secondary: const Color(0xFFEFF3F3), secondaryVariant: const Color(0xFFFAFBFB), background: const Color(0xFFE6EBEB), surface: const Color(0xFFFAFBFB), onBackground: Colors.white, error: _lightFillColor, onError: _lightFillColor, onPrimary: _lightFillColor, onSecondary: const Color(0xFF322942), onSurface: const Color(0xFF241E30), brightness: Brightness.light, ); static ColorScheme darkColorScheme = ColorScheme( primary: const Color(0xFFFF8383), primaryVariant: const Color(0xFF1CDEC9), secondary: const Color(0xFF4D1F7C), secondaryVariant: const Color(0xFF451B6F), background: const Color(0xFF241E30), surface: const Color(0xFF1F1929), onBackground: Colors.white.withOpacity(0.05), error: _darkFillColor, onError: _darkFillColor, onPrimary: _darkFillColor, onSecondary: _darkFillColor, onSurface: _darkFillColor, brightness: Brightness.dark, ); static const _regular = FontWeight.w400; static const _medium = FontWeight.w500; static const _semiBold = FontWeight.w600; static const _bold = FontWeight.w700; static TextTheme _textTheme = TextTheme( display1: GoogleFonts.montserrat(fontWeight: _bold, fontSize: 20.0), caption: GoogleFonts.oswald(fontWeight: _semiBold, fontSize: 16.0), headline: GoogleFonts.oswald(fontWeight: _medium, fontSize: 16.0), subhead: GoogleFonts.montserrat(fontWeight: _medium, fontSize: 16.0), overline: GoogleFonts.montserrat(fontWeight: _medium, fontSize: 12.0), body2: GoogleFonts.montserrat(fontWeight: _regular, fontSize: 14.0), subtitle: GoogleFonts.montserrat(fontWeight: _medium, fontSize: 14.0), body1: GoogleFonts.montserrat(fontWeight: _regular, fontSize: 16.0), title: GoogleFonts.montserrat(fontWeight: _bold, fontSize: 16.0), button: GoogleFonts.montserrat(fontWeight: _semiBold, fontSize: 14.0), ); }