123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- // ThemeData in mobile
- import 'package:flutter/material.dart';
- ThemeData getMobileThemeData() {
- const mobileColorTheme = ColorScheme(
- brightness: Brightness.light,
- primary: Color(0xFF2DA2F6), //primary 100
- onPrimary: Colors.white,
- // TODO(yijing): add color later
- secondary: Colors.white,
- onSecondary: Colors.white,
- error: Color(0xffFB006D),
- onError: Color(0xffFB006D),
- background: Colors.white,
- onBackground: Color(0xff2F3030), // title text
- outline: Color(0xffBDC0C5), //caption
- //Snack bar
- surface: Colors.white,
- onSurface: Color(0xff2F3030), // title text
- );
- return ThemeData(
- // color
- primaryColor: mobileColorTheme.primary, //primary 100
- primaryColorLight: const Color(0xFF57B5F8), //primary 80
- dividerColor: mobileColorTheme.outline, //caption
- scaffoldBackgroundColor: mobileColorTheme.background,
- appBarTheme: AppBarTheme(
- foregroundColor: mobileColorTheme.onBackground,
- backgroundColor: mobileColorTheme.background,
- elevation: 0,
- centerTitle: false,
- titleTextStyle: TextStyle(
- fontFamily: 'Poppins',
- color: mobileColorTheme.onBackground,
- fontSize: 18,
- fontWeight: FontWeight.w600,
- letterSpacing: 0.05,
- ),
- ),
- // button
- elevatedButtonTheme: ElevatedButtonThemeData(
- style: ButtonStyle(
- elevation: MaterialStateProperty.all(0),
- shadowColor: MaterialStateProperty.all(null),
- backgroundColor: MaterialStateProperty.resolveWith<Color>(
- (Set<MaterialState> states) {
- if (states.contains(MaterialState.disabled)) {
- return const Color(0xFF57B5F8);
- }
- return mobileColorTheme.primary;
- },
- ),
- foregroundColor: MaterialStateProperty.all(Colors.white),
- ),
- ),
- outlinedButtonTheme: OutlinedButtonThemeData(
- style: ButtonStyle(
- foregroundColor: MaterialStateProperty.all(
- mobileColorTheme.onBackground,
- ),
- backgroundColor: MaterialStateProperty.all(Colors.white),
- shape: MaterialStateProperty.all(
- RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(6),
- ),
- ),
- side: MaterialStateProperty.all(
- BorderSide(
- color: mobileColorTheme.outline,
- width: 0.5,
- ),
- ),
- padding: MaterialStateProperty.all(
- const EdgeInsets.symmetric(horizontal: 16),
- ),
- // splash color
- overlayColor: MaterialStateProperty.all(
- Colors.grey[100],
- ),
- ),
- ),
- // text
- fontFamily: 'Poppins',
- textTheme: const TextTheme(
- displayLarge: TextStyle(
- color: Color(0xFF57B5F8),
- fontSize: 32,
- fontWeight: FontWeight.w700,
- height: 1.20,
- letterSpacing: 0.16,
- ),
- displayMedium: TextStyle(
- color: Color(0xff2F3030),
- fontSize: 32,
- fontWeight: FontWeight.w600,
- height: 1.20,
- letterSpacing: 0.16,
- ),
- // H1 Semi 26
- displaySmall: TextStyle(
- color: Color(0xFF2F3030),
- fontSize: 26,
- fontWeight: FontWeight.w600,
- height: 1.10,
- letterSpacing: 0.13,
- ),
- // body2 14 Regular
- bodyMedium: TextStyle(
- color: Color(0xFFC5C7CB),
- fontSize: 14,
- fontWeight: FontWeight.w400,
- height: 1.20,
- letterSpacing: 0.07,
- ),
- // blue text button
- labelMedium: TextStyle(
- color: Color(0xFF2DA2F6),
- fontSize: 14,
- fontWeight: FontWeight.w500,
- height: 1.20,
- ),
- ),
- inputDecorationTheme: InputDecorationTheme(
- focusedBorder: const OutlineInputBorder(
- borderSide: BorderSide(
- width: 2,
- color: Color(0xFF2DA2F6), //primary 100
- ),
- borderRadius: BorderRadius.all(Radius.circular(6)),
- ),
- focusedErrorBorder: OutlineInputBorder(
- borderSide: BorderSide(color: mobileColorTheme.error),
- borderRadius: const BorderRadius.all(Radius.circular(6)),
- ),
- errorBorder: OutlineInputBorder(
- borderSide: BorderSide(color: mobileColorTheme.error),
- borderRadius: const BorderRadius.all(Radius.circular(6)),
- ),
- enabledBorder: const OutlineInputBorder(
- borderSide: BorderSide(
- color: Color(0xffBDC0C5), //caption
- ),
- borderRadius: BorderRadius.all(Radius.circular(6)),
- ),
- ),
- colorScheme: mobileColorTheme,
- );
- }
|