feat: splash page done
This commit is contained in:
@@ -28,5 +28,24 @@ abstract class AppColors {
|
||||
static const Color c7F7F7F = Color(0xFF7F7F7F);
|
||||
static const Color c888888 = Color(0xFF888888);
|
||||
|
||||
|
||||
/*
|
||||
New figma colors
|
||||
*/
|
||||
static const Color c0A0D13 = Color(0xFF0A0D13);
|
||||
static const Color cFF6F00 = Color(0xFFFF6F00);
|
||||
static const Color cFF9D3F = Color(0xFFFF9D3F);
|
||||
static const Color cFFB966 = Color(0xFFFFB966);
|
||||
static const Color cFFB669 = Color(0xFFFFB699);
|
||||
static const Color cFFEDCC = Color(0xFFFFEDCC);
|
||||
static const Color c2C3131 = Color(0xFF2C3131);
|
||||
static const Color c626262 = Color(0xFF626262);
|
||||
static const Color cA9A9A9 = Color(0xFFA9A9A9);
|
||||
static const Color cCACACA = Color(0xFFCACACA);
|
||||
static const Color cE9E9E9 = Color(0xFFE9E9E9);
|
||||
static const Color c292F3D = Color(0xFF292F3D);
|
||||
static const Color c131720 = Color(0xFF131720);
|
||||
static const Color cBD3325 = Color(0xFFBD3325);
|
||||
static const Color c9EA5B7 = Color(0xFF9EA5B7);
|
||||
static const Color c479B36 = Color(0xFF479B36);
|
||||
static const Color cFFAB40 = Color(0xFFFFAB40);
|
||||
}
|
||||
|
||||
@@ -1,64 +1,15 @@
|
||||
abstract class AppIcons {
|
||||
//baseurl
|
||||
static const String baseUrl = 'assets/icons';
|
||||
|
||||
//icons
|
||||
static const String icHome = "$baseUrl/ic_home.svg";
|
||||
static const String icBrowse = "$baseUrl/ic_browse.svg";
|
||||
static const String icBasket = "$baseUrl/ic_basket.svg";
|
||||
static const String icAccount = "$baseUrl/ic_account.svg";
|
||||
static const String icHomeActive = "$baseUrl/ic_home_active.svg";
|
||||
static const String icBrowseActive = "$baseUrl/ic_browse_active.svg";
|
||||
static const String icBasketActive = "$baseUrl/ic_basket_active.svg";
|
||||
static const String icAccountActive = "$baseUrl/ic_account_active.svg";
|
||||
static const String icBack = "$baseUrl/ic_back.svg";
|
||||
static const String icDislike = "$baseUrl/ic_dislike.svg";
|
||||
static const String icDislikeGrey = "$baseUrl/ic_dislike_grey.svg";
|
||||
static const String icEat = "$baseUrl/ic_eat.svg";
|
||||
static const String icEye = "$baseUrl/ic_eye.svg";
|
||||
static const String icFilter = "$baseUrl/ic_filter.svg";
|
||||
static const String icNext = "$baseUrl/ic_next.svg";
|
||||
static const String icNextGrey = "$baseUrl/ic_next_grey.svg";
|
||||
static const String icOval = "$baseUrl/ic_oval.svg";
|
||||
static const String icUber = "$baseUrl/ic_uber.svg";
|
||||
static const String icLocation = "$baseUrl/ic_location.svg";
|
||||
static const String icArrowBottom = "$baseUrl/ic_arrow_btm.svg";
|
||||
static const String icEmptyBasket = "$baseUrl/ic_empty_basket.svg";
|
||||
|
||||
static const String icPicked = "$baseUrl/ic_picked.svg";
|
||||
static const String icMostPopular = "$baseUrl/ic_popular.svg";
|
||||
static const String icStar = "$baseUrl/ic_rating.svg";
|
||||
static const String icDeliveryTime = "$baseUrl/ic_delivery_time.svg";
|
||||
static const String icDeals = "$baseUrl/ic_deals.svg";
|
||||
static const String icClose = "$baseUrl/ic_close.svg";
|
||||
static const String icCurrentLocation = "$baseUrl/ic_current_loc.svg";
|
||||
static const String icEdit = "$baseUrl/ic_edit.svg";
|
||||
static const String icSearch = "$baseUrl/ic_search.svg";
|
||||
static const String icCheck = "$baseUrl/ic_check.svg";
|
||||
static const String icCheck1 = "$baseUrl/ic_check1.svg";
|
||||
static const String icArrowRight = "$baseUrl/ic_arrow_right.svg";
|
||||
static const String icDeliver = "$baseUrl/ic_deliver.svg";
|
||||
static const String icGift = "$baseUrl/ic_gift.svg";
|
||||
static const String icHelp = "$baseUrl/ic_help.svg";
|
||||
static const String icLike = "$baseUrl/ic_like.svg";
|
||||
static const String icPromotions = "$baseUrl/ic_promotions.svg";
|
||||
static const String icSettings = "$baseUrl/ic_settings.svg";
|
||||
static const String icRewards = "$baseUrl/ic_rewards.svg";
|
||||
static const String icUberPass = "$baseUrl/ic_uber_pass.svg";
|
||||
static const String icWallet = "$baseUrl/ic_wallet.svg";
|
||||
static const String icOrdersSvg = "$baseUrl/ic_orders_svg.svg";
|
||||
static const String icLanguage = "$baseUrl/ic_language.svg";
|
||||
static const String icArrowRightLight = "$baseUrl/ic_arrow_right_light.svg";
|
||||
|
||||
///.png icons
|
||||
static const String icBestOverall = "$baseUrl/ic_best.png";
|
||||
static const String icVegetarian = "$baseUrl/ic_vegetarian.png";
|
||||
static const String icVegen = "$baseUrl/ic_vegen.png";
|
||||
static const String icGlutenFree = "$baseUrl/ic_gluten_free.png";
|
||||
static const String icAllergyFriendly = "$baseUrl/ic_allergy_friendly.png";
|
||||
static const String icClock = "$baseUrl/ic_clock.svg";
|
||||
static const String icOrders = "$baseUrl/ic_orders.png";
|
||||
static const String icUz = "$baseUrl/ic_uzb.png";
|
||||
static const String icRu = "$baseUrl/ic_rus.png";
|
||||
static const String icEn = "$baseUrl/ic_eng.png";
|
||||
static const String baseUrl = "assets/icons/common";
|
||||
static const String icLogo = "$baseUrl/ic_logo.svg";
|
||||
}
|
||||
|
||||
abstract class AppLightSvgs {
|
||||
static const String baseUrl = "assets/icons/light";
|
||||
|
||||
static const String icSplash = "$baseUrl/ic_splash.svg";
|
||||
}
|
||||
|
||||
abstract class AppDarkSvgs {
|
||||
static const String baseUrl = "assets/icons/dark";
|
||||
static const String icSplash = "$baseUrl/ic_splash.svg";
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import 'package:food_delivery_client/core/theme/app_theme_textstyles.dart';
|
||||
import 'package:food_delivery_client/core/theme/theme_icons.dart';
|
||||
|
||||
import '../../food_delivery_client.dart';
|
||||
|
||||
abstract class AppTheme {
|
||||
static ThemeData get lightTheme => ThemeData.light().copyWith(
|
||||
brightness: Brightness.light,
|
||||
extensions: [AppThemeIcons.light, AppThemeTextStyles.light],
|
||||
|
||||
// colorScheme: ColorScheme(
|
||||
// brightness: Brightness.light,
|
||||
@@ -22,6 +26,93 @@ abstract class AppTheme {
|
||||
surfaceTintColor: AppColors.cTransparent,
|
||||
),
|
||||
scaffoldBackgroundColor: AppColors.cFFFFFF,
|
||||
progressIndicatorTheme: ProgressIndicatorThemeData(
|
||||
color: AppColors.cFFFFFF,
|
||||
circularTrackColor: AppColors.cFFFFFF,
|
||||
linearTrackColor: AppColors.cFFFFFF,
|
||||
borderRadius: BorderRadiusGeometry.circular(30),
|
||||
),
|
||||
|
||||
pageTransitionsTheme: PageTransitionsTheme(
|
||||
builders: {
|
||||
TargetPlatform.android: CupertinoPageTransitionsBuilder(),
|
||||
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
|
||||
},
|
||||
),
|
||||
bottomNavigationBarTheme: BottomNavigationBarThemeData(
|
||||
elevation: 0,
|
||||
showSelectedLabels: true,
|
||||
showUnselectedLabels: true,
|
||||
backgroundColor: AppColors.cFFFFFF,
|
||||
type: BottomNavigationBarType.fixed,
|
||||
unselectedItemColor: AppColors.cB5B5B5,
|
||||
selectedItemColor: AppColors.c000000,
|
||||
selectedLabelStyle: AppTextStyles.size10Regular.copyWith(
|
||||
color: Colors.red,
|
||||
),
|
||||
unselectedLabelStyle: AppTextStyles.size10Regular.copyWith(
|
||||
color: AppColors.c000000,
|
||||
),
|
||||
// unselectedLabelStyle: AppTextStyles.size14Medium.copyWith(
|
||||
// color: AppColors.c888888,
|
||||
// fontFamily: "fontNorms",
|
||||
// ),
|
||||
),
|
||||
// inputDecorationTheme: InputDecorationTheme(
|
||||
// filled: true,
|
||||
// fillColor: AppColors.cMainBg,
|
||||
// hintStyle: AppTextStyles.size15Medium.copyWith(color: AppColors.c888888),
|
||||
// contentPadding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 10.h),
|
||||
// errorStyle: AppTextStyles.size12Medium.copyWith(color: AppColors.cRed),
|
||||
// errorBorder: OutlineInputBorder(
|
||||
// borderRadius: BorderRadius.circular(12.sp),
|
||||
// borderSide: BorderSide(color: AppColors.cRed, width: 1.5.r),
|
||||
// ),
|
||||
// focusedBorder: OutlineInputBorder(
|
||||
// borderRadius: BorderRadius.circular(12.sp),
|
||||
// borderSide: BorderSide(color: AppColors.cFF9914, width: 1.5.r),
|
||||
// ),
|
||||
// enabledBorder: OutlineInputBorder(
|
||||
// borderRadius: BorderRadius.circular(12.sp),
|
||||
// borderSide: BorderSide(color: AppColors.cEDEDED, width: 1.5.r),
|
||||
// ),
|
||||
// focusedErrorBorder: OutlineInputBorder(
|
||||
// borderRadius: BorderRadius.circular(12.sp),
|
||||
// borderSide: BorderSide(color: AppColors.cRed, width: 1.5.r),
|
||||
// ),
|
||||
// disabledBorder: OutlineInputBorder(
|
||||
// borderRadius: BorderRadius.circular(12.sp),
|
||||
// borderSide: BorderSide(color: AppColors.cEDEDED, width: 1.5.r),
|
||||
// ),
|
||||
// border: OutlineInputBorder(
|
||||
// borderRadius: BorderRadius.circular(12.sp),
|
||||
// borderSide: BorderSide(color: AppColors.cEDEDED, width: 1.5.r),
|
||||
// ),
|
||||
// ),
|
||||
);
|
||||
|
||||
static ThemeData get darkTheme => ThemeData.light().copyWith(
|
||||
brightness: Brightness.dark,
|
||||
extensions: [AppThemeIcons.dark, AppThemeTextStyles.dark],
|
||||
|
||||
// colorScheme: ColorScheme(
|
||||
// brightness: Brightness.light,
|
||||
// primary: AppColors.cFFFFFF,
|
||||
// onPrimary:AppColors.cFFFFFF,
|
||||
// secondary: AppColors.cFFFFFF,
|
||||
// onSecondary: AppColors.cFFFFFF,
|
||||
// error:AppColors.cRed,
|
||||
// onError: AppColors.cRed,
|
||||
// surface: AppColors.cFFFFFF,
|
||||
// onSurface: AppColors.cFFFFFF,
|
||||
// ),
|
||||
appBarTheme: AppBarTheme(
|
||||
elevation: 0,
|
||||
backgroundColor: AppColors.cFFFFFF,
|
||||
foregroundColor: AppColors.cFFFFFF,
|
||||
surfaceTintColor: AppColors.cTransparent,
|
||||
),
|
||||
scaffoldBackgroundColor: AppColors.c0A0D13,
|
||||
|
||||
progressIndicatorTheme: ProgressIndicatorThemeData(
|
||||
color: AppColors.cFFFFFF,
|
||||
|
||||
157
lib/core/theme/app_theme_textstyles.dart
Normal file
157
lib/core/theme/app_theme_textstyles.dart
Normal file
@@ -0,0 +1,157 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:food_delivery_client/core/constants/app_locale_keys.dart';
|
||||
import 'package:food_delivery_client/core/core.dart';
|
||||
|
||||
class AppThemeTextStyles extends ThemeExtension<AppThemeTextStyles> {
|
||||
//Regular fonts
|
||||
final TextStyle size14Regular;
|
||||
|
||||
//Medium
|
||||
|
||||
final TextStyle size16Medium;
|
||||
|
||||
//SemiBold
|
||||
|
||||
final TextStyle size16SemiBold;
|
||||
final TextStyle size24SemiBold;
|
||||
|
||||
//Bold
|
||||
|
||||
final TextStyle size14Bold;
|
||||
final TextStyle size24Bold;
|
||||
|
||||
//Black
|
||||
final TextStyle size64Black;
|
||||
|
||||
AppThemeTextStyles({
|
||||
required this.size14Regular,
|
||||
required this.size16Medium,
|
||||
required this.size16SemiBold,
|
||||
required this.size24SemiBold,
|
||||
required this.size14Bold,
|
||||
required this.size24Bold,
|
||||
required this.size64Black,
|
||||
});
|
||||
|
||||
static const String _fontBlack = AppLocaleKeys.fontBlack;
|
||||
static const String _fontBold = AppLocaleKeys.fontBold;
|
||||
static const String _fontSemiBold = AppLocaleKeys.fontSemiBold;
|
||||
static const String _fontMedium = AppLocaleKeys.fontMedium;
|
||||
static const String _fontRegular = AppLocaleKeys.fontRegular;
|
||||
|
||||
static AppThemeTextStyles light = AppThemeTextStyles(
|
||||
size14Regular: TextStyle(
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontFamily: _fontRegular,
|
||||
),
|
||||
size16Medium: TextStyle(
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: _fontMedium,
|
||||
),
|
||||
size16SemiBold: TextStyle(
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontFamily: _fontSemiBold,
|
||||
),
|
||||
size24SemiBold: TextStyle(
|
||||
fontSize: 24,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontFamily: _fontSemiBold,
|
||||
),
|
||||
size14Bold: TextStyle(
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontFamily: _fontBold,
|
||||
),
|
||||
size24Bold: TextStyle(
|
||||
fontSize: 24,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontFamily: _fontBold,
|
||||
),
|
||||
size64Black: TextStyle(
|
||||
fontSize: 64,
|
||||
fontWeight: FontWeight.w900,
|
||||
fontFamily: _fontBlack,
|
||||
color: AppColors.cFFFFFF,
|
||||
),
|
||||
);
|
||||
|
||||
static AppThemeTextStyles dark = AppThemeTextStyles(
|
||||
size14Regular: TextStyle(
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontFamily: _fontRegular,
|
||||
),
|
||||
size16Medium: TextStyle(
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: _fontMedium,
|
||||
),
|
||||
size16SemiBold: TextStyle(
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontFamily: _fontSemiBold,
|
||||
),
|
||||
size24SemiBold: TextStyle(
|
||||
fontSize: 24,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontFamily: _fontSemiBold,
|
||||
),
|
||||
size14Bold: TextStyle(
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontFamily: _fontBold,
|
||||
),
|
||||
size24Bold: TextStyle(
|
||||
fontSize: 24,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontFamily: _fontBold,
|
||||
),
|
||||
size64Black: TextStyle(
|
||||
fontSize: 64,
|
||||
fontWeight: FontWeight.w900,
|
||||
fontFamily: _fontBlack,
|
||||
color: AppColors.cFFFFFF,
|
||||
),
|
||||
);
|
||||
|
||||
@override
|
||||
ThemeExtension<AppThemeTextStyles> copyWith({
|
||||
TextStyle? size14Regular,
|
||||
TextStyle? size16Medium,
|
||||
TextStyle? size16SemiBold,
|
||||
TextStyle? size24SemiBold,
|
||||
TextStyle? size14Bold,
|
||||
TextStyle? size24Bold,
|
||||
TextStyle? size64Black,
|
||||
}) {
|
||||
return AppThemeTextStyles(
|
||||
size14Regular: size14Regular ?? this.size14Regular,
|
||||
size16Medium: size16Medium ?? this.size16Medium,
|
||||
size16SemiBold: size16SemiBold ?? this.size16SemiBold,
|
||||
size24SemiBold: size24SemiBold ?? this.size24SemiBold,
|
||||
size14Bold: size14Bold ?? this.size14Bold,
|
||||
size24Bold: size24Bold ?? this.size24Bold,
|
||||
size64Black: size64Black ?? this.size64Black,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
ThemeExtension<AppThemeTextStyles> lerp(
|
||||
covariant ThemeExtension<AppThemeTextStyles>? other,
|
||||
double t,
|
||||
) {
|
||||
if (other is! AppThemeTextStyles) return this;
|
||||
return AppThemeTextStyles(
|
||||
size14Regular: TextStyle.lerp(size14Regular, other.size14Regular, t)!,
|
||||
size16Medium: TextStyle.lerp(size16Medium, other.size16Medium, t)!,
|
||||
size16SemiBold: TextStyle.lerp(size16SemiBold, other.size16SemiBold, t)!,
|
||||
size24SemiBold: TextStyle.lerp(size24SemiBold, other.size24SemiBold, t)!,
|
||||
size14Bold: TextStyle.lerp(size14Bold, other.size14Bold, t)!,
|
||||
size24Bold: TextStyle.lerp(size24Bold, other.size24Bold, t)!,
|
||||
size64Black: TextStyle.lerp(size64Black, other.size64Black, t)!,
|
||||
);
|
||||
}
|
||||
}
|
||||
26
lib/core/theme/theme_icons.dart
Normal file
26
lib/core/theme/theme_icons.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:food_delivery_client/core/core.dart';
|
||||
|
||||
class AppThemeIcons extends ThemeExtension<AppThemeIcons> {
|
||||
final String icSplash;
|
||||
|
||||
AppThemeIcons({required this.icSplash});
|
||||
|
||||
static AppThemeIcons light = AppThemeIcons(icSplash: AppLightSvgs.icSplash);
|
||||
|
||||
static AppThemeIcons dark = AppThemeIcons(icSplash: AppDarkSvgs.icSplash);
|
||||
|
||||
@override
|
||||
ThemeExtension<AppThemeIcons> copyWith({String? icSplash}) {
|
||||
return AppThemeIcons(icSplash: icSplash ?? this.icSplash);
|
||||
}
|
||||
|
||||
@override
|
||||
ThemeExtension<AppThemeIcons> lerp(
|
||||
covariant ThemeExtension<AppThemeIcons>? other,
|
||||
double t,
|
||||
) {
|
||||
if (other is! AppThemeIcons) return this;
|
||||
return t < 0.5 ? this : other;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user