Skip to content

Instantly share code, notes, and snippets.

@vektemok
Created July 15, 2025 01:12
Show Gist options
  • Save vektemok/0aa6256a5c13634ab4024070bee58b70 to your computer and use it in GitHub Desktop.
Save vektemok/0aa6256a5c13634ab4024070bee58b70 to your computer and use it in GitHub Desktop.
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
/// {@template app_theme}
/// AppTheme.
/// {@endtemplate}
final class AppTheme with DiagnosticableTreeMixin {
/// {@macro app_theme}
const AppTheme({required this.themeData});
factory AppTheme.light() => AppTheme(
themeData: ThemeData.light().copyWith(
scaffoldBackgroundColor: const Color(0xffF2F2F7),
bottomNavigationBarTheme: BottomNavigationBarThemeData(
backgroundColor: const Color(0xffF9F9F9),
elevation: 0,
),
appBarTheme: const AppBarTheme(
toolbarHeight: 50,
actionsPadding: EdgeInsets.zero,
backgroundColor: Color(0xffF2F2F7),
centerTitle: false,
titleTextStyle: TextStyle(
fontFamily: 'Roboto',
fontSize: 28,
fontWeight: FontWeight.w700,
height: 1.0,
letterSpacing: 0,
color: Colors.black,
),
),
inputDecorationTheme: const InputDecorationTheme(),
textTheme: ThemeData.light().textTheme.copyWith(
labelSmall: GoogleFonts.roboto(
fontSize: 12,
fontWeight: FontWeight.w400,
height: 1.0,
letterSpacing: 0,
color: Colors.black,
),
),
),
);
final ThemeData themeData;
static TextStyle get noFilesYetTextStyle => GoogleFonts.roboto(
fontSize: 12,
fontWeight: FontWeight.w400,
height: 1.0,
letterSpacing: 0,
color: Colors.black,
);
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
properties.add(DiagnosticsProperty<ThemeData>('themeData', themeData));
super.debugFillProperties(properties);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment